merge_sort complete