#include<cstdio>
using namespace std;
int n,arr[100005];
void merge(int l,int r){
int m=(l+r)/2;
int i,j,k=0;
int left[100005],right[100005];
for(i=l;i<=m;i++)
left[i-l+1]=arr[i];
for(j=m+1;j<=r;j++)
right[j-m]=arr[j];
i=l,r=m+1;
while(i<=m&&j<=r){
k++;
if(left[i]<right[j]){
arr[k]=left[i];
i++;
}
else{
arr[k]=right[j];
j++;
}
}
if(i<m){
k++;
for(;i<=m;i++,k++)
arr[k]=left[i];
}
if(j<r){
k++;
for(;j<=r;j++,k++)
arr[k]=right[j];
}
return;
}
void merge_sort(int l,int r){
if(l==r)
return;
int m=(l+r)/2;
merge_sort(l,m);
merge_sort(m+1,r);
merge(l,r);
}
int main(){
scanf("%d",&n);
int i;
for(i=1;i<=n;i++)
scanf("%d",&arr[i]);
merge_sort(1,n);
for(i=1;i<=n;i++)
printf("%d ",arr[i]);
return 0;
}