algorithm: merge sort passes all tests