#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
#include <cmath>
#include <algorithm>
using namespace std;
#define mem(f, x) memset(f,x,sizeof(f))
#define sca(x) scanf("%d", &x)
#define sca2(x,y) scanf("%d%d",&x,&y)
#define sca3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define scl(x) scanf("%lld",&x);
#define pri(x) printf("%d\n", x)
#define prl(x) printf("%lld\n",x);
#define ll long long
int n,m;
int a[111111],t[111111];
const int inf = 1e9;
void ms(int a[],int l,int r){
if(l>=r)
return ;
int mid=(l+r)>>1;
ms(a,l,mid);
ms(a,mid+1,r);
int i=l,j=mid+1;
int cnt=0;
while(i<=mid&&j<=r){
if(a[i]<=a[j])
t[cnt++]=a[i++];
else
t[cnt++]=a[j++];
}
while(i<=mid)
t[cnt++]=a[i++];
while(j<=r)
t[cnt++]=a[j++];
for(int i=l,j=0;i<=r;i++,j++){
a[i]=t[j];
}
}
int main(){
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
ms(a,0,n-1);
for(int i=0;i<n;i++)
cout<<a[i]<<' ';
return 0;
}