#include<iostream>
using namespace std;
const int MAX=100000;
int N,a[MAX];
inline int read(){
int x=0;char c=getchar();
while(c>='0' && c<='9')
x=x*10+c-'0',c=getchar();
return x;
}
int partition(int i,int j){
int tmp=a[i];
while(i<j){
for(;i<j && a[j]>=tmp;j--);
if(i<j) a[i]=a[j];
for(;i<j && a[i]<=tmp;i++);
if(i<j) a[j]=a[i];
}
a[i]=tmp;
return i;
}
void q_sort(int l,int r){
if(l<r){
int tmp=partition(l,r);
q_sort(l,tmp-1);
q_sort(tmp+1,r);
}
}
int main(){
N=read();
for(int i=0;i<N;i++)
a[i]=read();
q_sort(0,N-1);
for(int i=0;i<N-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[N-1]);
return 0;
}