divide and conquer algorithm examples merge sort