Merge Sort using iterators