rt
#include <iostream>
using namespace std;
int a[100005];
void h(int l1,int l2,int r1,int r2) {
int c[100005],t = 0;
int x1 = l1,x2 = l2;
while(x1 <= r1 && x2 <= r2) {
if(a[x1] <= a[x2]) c[t++] = a[x1++];
else c[t++] = a[x2++];
}
while(x1 <= r1) c[t++] = a[x1++];
while(x2 <= r2) c[t++] = a[x2++];
for(int i = 0; i < t ;i++) a[l1 + i] = c[i];
}
void f(int l,int r) {
if(l >= r) return ;
int mid = (l + r) / 2;
f(l,mid);
f(mid + 1,r);
h(l,mid,mid + 1,r);
}
int main() {
int n;
cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i];
f(1,n);
for(int i = 1; i <= n; i++) cout << a[i] << " ";
return 0;
}