Mergesort Algorithm