#include<iostream>
using namespace std;
const int MAX = 10001;
int l[MAX];
int Partition(int low, int high)
{
l[0]=l[low];
int pivotkey=l[low];
while(low<high)
{
while(low<high && l[high]>=pivotkey)
high--;
l[low]=l[high];
while(low<high && l[low]<=pivotkey)
low++;
l[high]=l[low];
}
l[low]=l[0];
return low;
}
void QSort(int low, int high)
{
if(low<high)
{
int pivotkey = Partition(low, high);
QSort(low, pivotkey-1);
QSort(pivotkey+1, high);
}
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>l[i];
QSort(1, n);
for(int i=1;i<=n;i++)
cout<<l[i]<<" ";
cout<<endl;
return 0;
}