#include<iostream>
using namespace std;
const int N=1e5+10;
int n;
int tm[N],a[N];
void qsort(int a[],int l,int r)
{
if(l>=r)
return ;
int mid=(l+r)>>1;
int k=0,i=l,j=mid+1;
qsort(a,l,mid);
qsort(a,mid+1,r);
while(i<=mid&&j<=r)
{
if(a[i]<=a[j]) tm[k++]=a[i++];
else tm[k++]=a[j++];
}
while(i<=mid)
tm[k++]=a[i++];
while(j<=r)
tm[k++]=a[j++];
for(i=l,j=0;i<r+1;i++,j++)
a[i]=tm[j];
}
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
qsort(a,0,n-1);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}