/*#include<stdio.h>
int n;
int a[100001];
int b_s(int s,int e,int k)
{
int mid=(s+e)/2;
if(s>=e)
{
if(a[mid]>=k)
{
return mid;
}
else
{
return n+1;
}
}
if(a[mid]>=k)
{
b_s(s,mid,k);
}
else
{
b_s(mid+1,e,k);
}
}
int main()
{
int i,k;
scanf("%d %d",&n,&k);
for(i=1; i<=n; i++)
{
scanf("%d",&a[i]);
}
printf("%d",b_s(1,n,k));
}
*/
/*
#include<stdio.h>
int n;
int a[100001];
void q_s(int s,int e)
{
int p=s,l=s,h=e+1,temp;
if(s>=e)
{
return;
}
do
{
do
{
l++;
}while(a[p]>a[l]);
do
{
h--;
}while(a[p]<a[h]);
if(l<h)
{
temp=a[h];
a[h]=a[l];
a[l]=temp;
}
}while(l<h);
temp=a[h];
a[h]=a[p];
a[p]=temp;
q_s(s,h-1);
q_s(h+1,e);
}
int main()
{
int i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
q_s(1,n);
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
}
*/
#include<stdio.h>
int main()
{
int a[100001]={};
int j,i,n,t;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&t);
a[t]++;
}
for(i=0;i<=100000;i++)
{
for(j=1;j<=a[i];j++)
{
printf("%d ",i);
}
}
return 0;
}