#include<stdio.h>
//#include<conio.h>
int quiksort(int,int);
int partition(int,int);
//#include<malloc.h>
int a[1000001];
int main()
{
// int a[1000001];
long int i,t;
scanf("%ld",&t);
// a=(int*)malloc(t*sizeof(int));
for(i=0;i<t;i++)
scanf("%ld",&a[i]);
quiksort(0,t-1);
for(i=0;i<t;i++)
printf("%ld\n",a[i]);
//getch();
return 0;
}
int quiksort(int i,int j)
{ int k;
if(i>=j)
return 0;
else
{k=partition(i,j);
quiksort(i,k);
quiksort(k+1,j);
}
return 0;
}
int partition(int l ,int r)
{
int i=l,j=r,p,temp,m;
p=a[i];
while(i<j)
{ while(i<j&& (a[i]<p))i++;
while(i<j && (a[j]>=p))j--;
if(i<j)
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}if(a[j]<=p)
return j;
else
return j-1;