print((lambda a: lambda x: a(a, x))(lambda merge, a: (lambda a, b: (lambda a:lambda x, f:a(a, x, f))(lambda g, x, f: x[2] + x[1] + x[0] if x[0] == [] or x[1] == [] else g(g, f(x), f))((a, b, []), lambda x: ((x[0] if x[0][0] < x[1][0] else x[1])[1:], (x[0] if x[0][0] > x[1][0] else x[1]), x[2] + [(x[0] if x[0][0] < x[1][0] else x[1])[0]])))(merge(merge, a[:len(a) // 2]), merge(merge, a[len(a) // 2:])) if len(a) >= 2 else a)([1, 5, 10, 9, 6, 3, 2, 4, 8, 7]))
cHJpbnQoKGxhbWJkYSBhOiBsYW1iZGEgeDogYShhLCB4KSkobGFtYmRhIG1lcmdlLCBhOiAobGFtYmRhIGEsIGI6IChsYW1iZGEgYTpsYW1iZGEgeCwgZjphKGEsIHgsIGYpKShsYW1iZGEgZywgeCwgZjogeFsyXSArIHhbMV0gKyB4WzBdIGlmIHhbMF0gPT0gW10gb3IgeFsxXSA9PSBbXSBlbHNlIGcoZywgZih4KSwgZikpKChhLCBiLCBbXSksIGxhbWJkYSB4OiAoKHhbMF0gaWYgeFswXVswXSA8IHhbMV1bMF0gZWxzZSB4WzFdKVsxOl0sICh4WzBdIGlmIHhbMF1bMF0gPiB4WzFdWzBdIGVsc2UgeFsxXSksIHhbMl0gKyBbKHhbMF0gaWYgeFswXVswXSA8IHhbMV1bMF0gZWxzZSB4WzFdKVswXV0pKSkobWVyZ2UobWVyZ2UsIGFbOmxlbihhKSAvLyAyXSksIG1lcmdlKG1lcmdlLCBhW2xlbihhKSAvLyAyOl0pKSBpZiBsZW4oYSkgPj0gMiBlbHNlIGEpKFsxLCA1LCAxMCwgOSwgNiwgMywgMiwgNCwgOCwgN10pKQ==