#include<iostream>
using namespace std;
int a[101],n;
void quicksort(int left,int right){
int i=left,j=right;
int k=a[left];//变量k临时存放最左边的元素,单独保存
while(i<j){
//先从最右边开始
while(a[j]>=k&&i<j) //如果右边比k大,向左走 i<j控制走到头的情况
j--;
a[i]=a[j];//替换
while(a[i]<=k&&i<j) //如果左边比k小,向右走;
i++;
a[j]=a[i];
}
a[i]=k; //把k还原到i的位置,a[i]元素
if(left<i) quicksort(left,i-1);
if(i<right) quicksort(i+1,right);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
quicksort(1,n);
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
return 0;
}