merge sort integrated