Implementation of Merge Sort