merge sort code