#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
const int n = 100;
int tmp[n], ara[n], ans[n];
void marge_sort (int b, int e) {
if (b == e) {
tmp[b] = ara[b];
return;
}
int mid = (b + e) / 2;
marge_sort(b, mid);
marge_sort(mid + 1, e);
vector<int> left, right;
for (int i = b; i <= mid; i++) left.push_back(tmp[i]);
for (int i = mid + 1; i <= e; i++) right.push_back(tmp[i]);
int idx = b, l = 0, r = 0, sz1 = left.size(), sz2 = right.size();
while (l < sz1 && r < sz2) {
if (left[l] >= right[r]) {
tmp[idx++] = left[l++];
}
else if (right[r] >= left[l]) {
tmp[idx++] = right[r++];
}
}
while (l < sz1) tmp[idx++] = left[l++];
while (r < sz2) tmp[idx++] = right[r++];
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int n; cin >> n;
for (int i = 1; i <= n; i++) cin >> ara[i];
marge_sort(1, n);
for (int i = 1; i <= n; i++) cout << tmp[i] << " ";
cout << "\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKCmNvbnN0IGludCBuID0gMTAwOwppbnQgdG1wW25dLCBhcmFbbl0sIGFuc1tuXTsKdm9pZCBtYXJnZV9zb3J0IChpbnQgYiwgaW50IGUpIHsKCWlmIChiID09IGUpIHsKCQl0bXBbYl0gPSBhcmFbYl07CgkJcmV0dXJuOwoJfQoJaW50IG1pZCA9IChiICsgZSkgLyAyOwoJbWFyZ2Vfc29ydChiLCBtaWQpOwoJbWFyZ2Vfc29ydChtaWQgKyAxLCBlKTsKCXZlY3RvcjxpbnQ+IGxlZnQsIHJpZ2h0OwoJZm9yIChpbnQgaSA9IGI7IGkgPD0gbWlkOyBpKyspIGxlZnQucHVzaF9iYWNrKHRtcFtpXSk7Cglmb3IgKGludCBpID0gbWlkICsgMTsgaSA8PSBlOyBpKyspIHJpZ2h0LnB1c2hfYmFjayh0bXBbaV0pOwoJaW50IGlkeCA9IGIsIGwgPSAwLCByID0gMCwgc3oxID0gbGVmdC5zaXplKCksIHN6MiA9IHJpZ2h0LnNpemUoKTsKCXdoaWxlIChsIDwgc3oxICYmIHIgPCBzejIpIHsKCQlpZiAobGVmdFtsXSA+PSByaWdodFtyXSkgewoJCQl0bXBbaWR4KytdID0gbGVmdFtsKytdOwoJCX0KCQllbHNlIGlmIChyaWdodFtyXSA+PSBsZWZ0W2xdKSB7CgkJCXRtcFtpZHgrK10gPSByaWdodFtyKytdOwoJCX0KCX0KCXdoaWxlIChsIDwgc3oxKSB0bXBbaWR4KytdID0gbGVmdFtsKytdOwoJd2hpbGUgKHIgPCBzejIpIHRtcFtpZHgrK10gPSByaWdodFtyKytdOwp9CgppbnQgbWFpbigpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKICAJCiAgCWludCBuOyBjaW4gPj4gbjsKICAJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjaW4gPj4gYXJhW2ldOwogIAltYXJnZV9zb3J0KDEsIG4pOwogIAlmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNvdXQgPDwgdG1wW2ldIDw8ICIgIjsKICAJY291dCA8PCAiXG4iOwoKfQ==