merge sort in cpp