#include<bits/stdc++.h>
using namespace std;
int n,a[100],c[100];
void mergesort(int l,int r){
    if(l>=r) return;
    int mid=(l+r)/2;
    mergesort(l,mid);
    mergesort(mid+1,r);
    int ilen=mid-l+1,jlen=r-mid;
    int i=l,j=mid+1,k=1;
    while(i<=mid&&j<=r){
        if(a[i]<a[j]) c[k++]=a[i++];
        else c[k++]=a[j++];
    }
    while(i<=mid) c[k++]=a[i++];
    while(j<=r) c[k++]=a[j++];
    for(int i=1;i<=r-l+1;i++) a[l+i-1]=c[i];
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    mergesort(1,n);
    for(int i=1;i<=n;i++) cout<<a[i]<<" ";
    return 0;
}
/**************************************************************
	Problem: 1010
	User: liyunshuo
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2072 kb
****************************************************************/