#include <iostream>
#include<vector>
using namespace std;int n;
vector<int>nums;
vector<int>help;
void merge(int l,int mid,int r){
int i=l,a=l,b=mid+1;
while(a<=mid&&b<=r){
help[i++]=(nums[a]<=nums[b])?nums[a++]:nums[b++];
}
while(a<=mid)help[i++]=nums[a++];
while(b<=r)help[i++]=nums[b++];
for(i=l;i<=r;++i)nums[i]=help[i];
}
int main() {
cin>>n;
nums.resize(n);
help.resize(n);
for(int i=0;i<n;++i)cin>>nums[i];
for(int l,mid,r,step=1;step<nums.size();step<<=1){
l=0;
while(l<nums.size()){
mid=l+step-1;
if(mid+1>=nums.size())break;
r=min(l+(step<<1)-1,(int)nums.size()-1);
merge(l,mid,r);
l=r+1;
}
}
for(int i=0;i<nums.size();++i)cout<<nums[i]<<" ";
}
// 64 位输出请用 printf("%lld")