//有时候其实sort排序并不能解决一些问题,所以我们就需要用简单的冒泡排序啦
#include <iostream>
using namespace std;
const int maxn=1e7;
int data[maxn];
int main()
{
int m;
while(cin>>m)
{
int tmp;
for(int i=0;i<m;i++)
cin>>data[i];
for(int i=0;i<m-1;i++)//从小到大排序
for(int j=0;j<m-1-i;j++)
if(data[j]>data[j+1])//要是前一个比后一个大就换
{
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}//如果从大到小排就是把data[j]>data[j+1]换成data[j]<data[j+1]
for(int i=0;i<m-1;i++)
cout<<data[i]<<" ";
cout<<data[m-1]<<endl;
}
return 0;
}