#include <bits/stdc++.h>
using namespace std;
using ll = long long;
vector<ll> a, tmp;
void merge_sort(ll l, ll r) {
if (l >= r) return;
ll mid = (l + r) / 2;
merge_sort(l, mid);
merge_sort(mid + 1, r);
ll i = l, j = mid + 1, k = l;
while (i <= mid && j <= r) {
if (a[i] <= a[j]) tmp[k++] = a[i++];
else tmp[k++] = a[j++];
}
while (i <= mid) tmp[k++] = a[i++];
while (j <= r) tmp[k++] = a[j++];
for (ll t = l; t <= r; t++) a[t] = tmp[t];
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll n;
cin >> n;
a.resize(n + 1);
tmp.resize(n + 1);
for (ll i = 1; i <= n; i++) cin >> a[i];
merge_sort(1, n);
for (ll i = 1; i <= n; i++) cout << a[i] << " ";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwoKdmVjdG9yPGxsPiBhLCB0bXA7Cgp2b2lkIG1lcmdlX3NvcnQobGwgbCwgbGwgcikgewogICAgaWYgKGwgPj0gcikgcmV0dXJuOwoKICAgIGxsIG1pZCA9IChsICsgcikgLyAyOwogICAgbWVyZ2Vfc29ydChsLCBtaWQpOwogICAgbWVyZ2Vfc29ydChtaWQgKyAxLCByKTsKCiAgICBsbCBpID0gbCwgaiA9IG1pZCArIDEsIGsgPSBsOwogICAgd2hpbGUgKGkgPD0gbWlkICYmIGogPD0gcikgewogICAgICAgIGlmIChhW2ldIDw9IGFbal0pIHRtcFtrKytdID0gYVtpKytdOwogICAgICAgIGVsc2UgdG1wW2srK10gPSBhW2orK107CiAgICB9CiAgICB3aGlsZSAoaSA8PSBtaWQpIHRtcFtrKytdID0gYVtpKytdOwogICAgd2hpbGUgKGogPD0gcikgdG1wW2srK10gPSBhW2orK107CgogICAgZm9yIChsbCB0ID0gbDsgdCA8PSByOyB0KyspIGFbdF0gPSB0bXBbdF07Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBsbCBuOwogICAgY2luID4+IG47CiAgICBhLnJlc2l6ZShuICsgMSk7CiAgICB0bXAucmVzaXplKG4gKyAxKTsKCiAgICBmb3IgKGxsIGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGFbaV07CgogICAgbWVyZ2Vfc29ydCgxLCBuKTsKCiAgICBmb3IgKGxsIGkgPSAxOyBpIDw9IG47IGkrKykgY291dCA8PCBhW2ldIDw8ICIgIjsKfQ==