a. Develop a divide-and-conquer algorithm to perform a parallelmerge sort of an array. Hint: After division, each process sortsits part of the array using an efficient algorithm. Then, thesubarrays are merged into larger sorted subarrays. b. Analyze thecommunication and computation times if the number of processes isequal to the number of array elements, n. c. Repeat Part b if thenumber of processes is less than the number of array elements.Assume that the computation time for the sequential sortingalgorithm employed is proportional to m log(m), where m is thenumber of elements being sorted.