Completed Merge Sort with recursion