#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;
}