#include<iostream>
int n , a[10000001];
using namespace std;
void mu(int l,int r){
int flag = a[(l+r)/2];
int i = l , j = r;
do{
while(a[i]<flag) i++;
while(a[j]>flag) j--;
if(i<=j){
int tmp = a[i];
a[i]=a[j];
a[j]=tmp;
j--;i++;
}
}while(i<=j);
if (l<j) mu(l,j);
if (i<r) mu(i,r);
/*int mid=a[(l+r)/2];
int i=l,j=r;
do{
while(a[i]<mid) i++;
while(a[j]>mid) j--;
if(i<=j)
{
swap(a[i],a[j]);
i++;
j--;
}
}while(i<=j);
if(l<j) mu(l,j);
if(i<r) mu(i,r);*/
}
int main(){
cin >>n;
for(int i=1;i<=n;i++)
cin >>a[i];
mu( 1 , n );
for(int i=1;i<=n;i++)
cout <<a[i]<<" ";
return 0;
}