#include<stdio.h>
using namespace std;
long long a[100010]={};
long long b[100010]={},c[100010]={},d[100010]={};
void fsort(int l,int r)
{
if(l==r||a[l]==a[r])return;
int m=(l+r+1)/2;
b[100010]={};
c[100010]={};
d[100010]={};
int bi=0,ci=0,di=0;
for(int i=l;i<=r;i++)
{
if(a[i]<a[m])
{
bi++;
b[bi]=a[i];
}else if(a[i]==a[m])
{
ci++;
c[ci]=a[i];
}else if(a[i]>a[m])
{
di++;
d[di]=a[i];
}
}
for(int i=l;i<=l+bi-1;i++)
{
a[i]=b[i-l+1];
}
for(int i=l+bi;i<=l+bi+ci-1;i++)
{
a[i]=c[i-l-bi+1];
}
for(int i=l+bi+ci;i<=r;i++)
{
a[i]=d[i-l-bi-ci+1];
}
if(bi==0&&di==0)return ;
fsort(l,l+bi-1);
fsort(l+ci+bi,r);
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
fsort(1,n);
for(int i=1;i<=n;i++)
{
printf("%lld ",a[i]);
}
return 0;
}