#include <cstdio>
#include <algorithm>
#include <cassert>
#define MaxN 5000000
using namespace std;
int v[MaxN];
int main() {
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
int N;
scanf("%d", &N);
for (int i = 0; i < N; i++) {
scanf("%d", &v[i]);
}
fclose(stdin);
for (int step = 1; step < N; step <<= 1) {
for (int i = 0; i + step < N; i += (step << 1)) {
inplace_merge(v + i, v + i + step, v + min(i + 2 * step, N));
}
}
for (int i = 0; i < N; i++) {
printf("%d ", v[i]);
}
fclose(stdout);
return 0;
}