/*用隨機數把基準換掉就解決了*/
#include <stdio.h>
#include <stdlib.h>
void quickSort(int*a,int n){
int h=1,e=n-1,k,r;
r=rand()%n;
k=a[0];
a[0]=a[r];
a[r]=k;
while(1){
while(a[h]<=a[0]&&h<n)h++;
while(a[e]>=a[0]&&e>0)e--;
if(h>=e)break;
k=a[h];
a[h]=a[e];
a[e]=k;
}
k=a[0];
a[0]=a[e];
a[e]=k;
if(e>1)quickSort(a,e);
if(n-h>1)quickSort(a+h,n-h);
}
int main(int argc, char *argv[])
{
int *a,n,i;
scanf("%d",&n);
a=malloc(sizeof(int)*n);
for(i=0;i<n;i++){
scanf("%d",a+i);
}
quickSort(a,n);
for(i=0;i<n;i++){
printf(i!=n-1?"%d ":"%d",a[i]);
}
return 0;
}