explain merge sort algorithm using divide and conquer method