#include <fstream>
#define DIM 500010
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n, v[DIM], c[DIM], i;
void copy(int x, int y, int c[], int k){
int i, j;
for(i=x, j=1; i<=y; i++, j++)
v[i]=c[j];
}
void interclasare(int x, int y, int m){
int i=x, j=m+1, k=0;
while(i<=m && j<=y)
{
if(v[i]<v[j])
c[++k]=v[i], i++;
else
c[++k]=v[j], j++;
}
while(i<=m)
c[++k]=v[i], i++;
while(j<=y)
c[++k]=v[j], j++;
copy(x, y, c, k);
}
void sortare(int x, int y){
if(x==y)
return;
int m=(x+y)/2;
sortare(x, m);
sortare(m+1, y);
interclasare(x, y, m);
}
int main(){
fin>>n;
for(i=1; i<=n; i++)
fin>>v[i];
sortare(1, n);
for(i=1; i<=n; i++)
fout<<v[i]<<' ';
return 0;
}