#include<iostream>
#include<cstdio>
#include <bits/stdc++.h>
using namespace std;
int a[100001],b[100001],c[100001],d[100001];
void qsort(int left,int right)
{
if((right-left)<1) return;
int m=a[left];
int l,r,t;l=0;r=0;t=0;
for(int i=left;i<=right;i++)
{
if(a[i]<m)
{
l++;b[l]=a[i];
}
else if(a[i]==m)
{
t++;c[t]=a[i];
}
else
{
r++;d[r]=a[i];
}
}
for(int i=left;i<=left+l-1;i++) a[i]=b[i-left+1];
for(int i=left+l;i<=left+l+t-1;i++) a[i]=c[i-left-l+1];
for(int i=left+l+t;i<=left+l+t+r-1;i++) a[i]=d[i-left-l-t+1];
qsort(left,left+l-1);qsort(left+l+t,left+l+t+r-1);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
qsort(1,n);
for(int i=1;i<=n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}