#include<stdio.h>
int part(int A[],int n, int p, int r) {
int x, i, j, t;
x = A[r];
i = p - 1;
for (int j = p;j < r;j++) {
if (A[j] <= x){
i++;
t = A[i];
A[i] = A[j];
A[j] = t;
}}
t = A[i + 1];
A[i + 1] = A[r];
A[r] = t;
return i + 1;
}
void quincksort(int A[],int n,int p, int r){
int q=0;
if(p<r){
q=part( A,n,p, r);
quincksort( A,n,p,q-1);
quincksort(A,n,q+1,r);
}}
int main(){
int A[100000],n;
scanf("%d\n",&n);
for(int i=0;i<n;i++){
scanf("%d",&A[i]);
}
quincksort(A,n,0,n-1);
for(int i=0;i<n;i++){
printf("%d ",A[i]);}
return 0;
}