#include<iostream>
#include<cstdlib>
using namespace std;
int a[20];
int len;
int partion(int low ,int high){
int i,j;
int key=a[low];//以low作为初始枢纽点
while(low<high){
while(low<high&&a[high]>=key)high--;//高端应该都比枢纽点值大
a[low]=a[high];//比枢纽点值小的移至低端
while(low<high&&a[low]<=key)low++;//低端应该都比枢纽点的值小
a[high]=a[low];//比枢纽点值大的移至高端
}
a[low]=key;//更新枢纽点
return low;//返回更新后枢纽点的位置
}
void qsort(int low,int high){//快排用递归实现
if(low>=high)return;
int key=partion(low,high);
qsort(low,key);
qsort(key+1,high);
}
int main(){
int i,j;
cin>>len;
for(i=1;i<=len;i++)cin>>a[i];
qsort(1,len);
for(i=1;i<=len;i++)cout<<a[i]<<endl;
system("pause");
return 0;
}