Merge sort: must be stable