#include<iostream>
using namespace std;
const int N=100;
int shu[N];
int main(){
int m,i,j,n;
cin>>m;
cout<<endl;
for(i=1;i<=m;i++){
cin>>shu[i];
}
//选择排序
for(int min,i=1;i<=m;i++){
min=i;
for(j=i+1;j<=m;j++){
if(shu[j]<shu[i]){
n=shu[j];
shu[j]=shu[i];
shu[i]=n;
}
}
}
//冒泡排序
for(int end=m;end>=0;end--){
for(i=0;i<end;i++){
if(shu[i]>shu[i+1]){
n=shu[i+1];
shu[i+1]=shu[i];
shu[i]=n;
}
}
}
//插入排序
for(i=1;i<=m;i++){
for(j=i-1;j>=0;j--){
if(shu[j]>shu[j+1]){
n=shu[j+1];
shu[j+1]=shu[j];
shu[j]=n;
}
}
}
for(i=1;i<=m;i++){
cout<<shu[i]<<' ';
}
return 0;
}