#include <stdio.h>
int getmid(int left,int right,int a[])
{
int mid=(left+right)/2+1;
if(a[mid]>a[right])
return right;
if(a[mid]<a[left])
return left;
return mid;
}
void quicksort(int left,int right,int a[])
{
if(left>=right)
return;
int i=left,j=right;
int number=getmid(i,j,a);
int jizhun=a[number];
int t;
t=a[left];
a[left]=a[number];
a[number]=t;
while(i!=j){
while(j>i&&a[j]>=jizhun)
j--;
while(j>i&&a[i]<=jizhun)
i++;
if(j!=i){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
t=a[left];
a[left]=a[i];
a[i]=t;
quicksort(left,i-1,a);
quicksort(i+1,right,a);
}
int main()
{
int n;
scanf("%d",&n);
int k;
int a[n+1];
for(k=1;k<=n;k++){
scanf("%d",&a[k]);
}
quicksort(1,n,a);
for(k=1;k<=n;k++){
printf("%d ",a[k]);
}
return 0;
}