#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")