natural merge sort