#include <bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
// #define f cin
// #define g cout
// code-runner.runInTerminal
int n, v[500001], ax[500001];
void merge(int a, int b, int c, int d)
{
int i = a, j = c, r = 1;
while (i <= b && j <= d)
if (v[i] < v[j])
ax[r] = v[i], r++, i++;
else
ax[r] = v[j], r++, j++;
while (i <= b)
ax[r] = v[i], r++, i++;
while (j <= d)
ax[r] = v[j], r++, j++;
for (int i = 1, j = a; j <= d; i++, j++)
v[j] = ax[i];
}
void merge_sort(int st, int dr)
{
if (dr - st < 1)
return;
int mid = (st + dr) / 2;
merge_sort(st, mid);
merge_sort(mid + 1, dr);
merge(st, mid, mid + 1, dr);
}
int main()
{
f >> n;
for (int i = 1; i <= n; i++)
f >> v[i];
merge_sort(1, n);
for (int i = 1; i <= n; i++)
g << v[i] << " ";
return 0;
}