#include<iostream>
using namespace std;
const int MAX = 1001;
int l[MAX];
//Heap Sort
void HeapAdjust(int s, int m)
{
int rc = l[s];
for(int j=2*s;j<=m;j*=2)
{
if(j<m && l[j]<l[j+1]) ++j;
if(rc>=l[j]) break;
l[s]=l[j];
s=j;
}
l[s]=rc;
}
void HeapSort(int n)
{
for(int i=n/2;i>0;--i)
HeapAdjust(i, n);
for(int i=n;i>1;--i)
{
int temp = l[1];
l[1]=l[i];
l[i]=temp;
HeapAdjust(1, i-1);
}
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>l[i];
HeapSort(n);
for(int i=1;i<=n;i++)
cout<<l[i]<<" ";
cout<<endl;
return 0;
}