Alexey: 3 variations of merge sort