#include<iostream>
using namespace std;
int *s;
void Swap(int pos1,int pos2){
int temp = s[pos1];
s[pos1] = s[pos2];
s[pos2] = temp;
}
int Patition(int left,int right){
int i = left,j = right + 1;
int temp = s[left];
while(true){
while(s[++i] < temp && i < right);
while(s[--j] > temp && j > left);
if(i >= j)break;
Swap(i,j);
}
s[left] = s[j];
s[j] = temp;
return j;
}
void Initial(int n){
s = new int[n];
for(int i = 0;i < n;i++)cin>>s[i];
}
void QuickSort(int left,int right){
if(left < right){
int pos = Patition(left,right);
QuickSort(left,pos);
QuickSort(pos + 1,right);
}
}
void Print(int n){
for(int i = 0;i < n;i++)cout<<s[i]<<" ";
}
int main(){
int n;
cin>>n;
Initial(n);
QuickSort(0,n - 1);
Print(n);
}