Recursive Merge Sort in C