//集训第一天先从排序开始
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include<math.h>
#include<cstdlib>
using namespace std;
#include<stdio.h>
#define N 1000+10
int a[N],n,m;
void ksort(int left ,int right )
{
if(left+1>right){
if(a[left]>a[right]) swap(a[left],a[right]);
return ;
}
int i=left,j=right,x=a[right];
while(i<j){
while(a[i]<x&&i<j) i++;
while(a[j]>=x&&i<j)j--;
swap(a[i],a[j]);
}
swap(a[i],a[right]);
if(left<i-1) ksort(left,i-1);
if(right>j+1) ksort(j+1,right);
}
int main()
{while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
ksort(0,n-1);
for(int i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
return 0;
}