#include<iostream>
using namespace std;
int rank(int,int,int a[]);
int a[100];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
rank(1,n,a);
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
return 0;
}
int rank(int m,int n,int a[])
{
if(m==n)
return 0;
else
{
int t=a[m],temp,x=m,y=n;
for(int i=m;i<=n;i++)
{
if(a[i]>=t)
{
do{
temp=a[y];
a[y]=a[i];
a[i]=temp;
y--;
}
while(a[i]>=t);
}
if(a[i]<t)
{
do{
temp=a[i];
a[i]=a[x];
a[x]=temp;
x++;
i++;
}
while(a[i]<t);
}
}
a[x]=t;
rank(m,x,a);
rank(x+1,n,a);
}
}
using namespace std;
int rank(int,int,int a[]);
int a[100];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
rank(1,n,a);
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
return 0;
}
int rank(int m,int n,int a[])
{
if(m==n)
return 0;
else
{
int t=a[m],temp,x=m,y=n;
for(int i=m;i<=n;i++)
{
if(a[i]>=t)
{
do{
temp=a[y];
a[y]=a[i];
a[i]=temp;
y--;
}
while(a[i]>=t);
}
if(a[i]<t)
{
do{
temp=a[i];
a[i]=a[x];
a[x]=temp;
x++;
i++;
}
while(a[i]<t);
}
}
a[x]=t;
rank(m,x,a);
rank(x+1,n,a);
}
}