https://www.geeksforgeeks.org/in-place-merge-sort/