#include <bits/stdc++.h>
using namespace std;
int a[100005];
void quick_sort(int l, int r)//快速排序
{
//每次选一个数,以它为界划分左右区间并像归并一样返回
if (l< r)//边界
{
int i = l, j = r, x = a[l];
while (i < j)//以x为界划分
{
while(i < j && a[j]>= x)
j--;
a[i] =a[j];
while(i < j && a[i]< x)
i++;
a[j] = a[i];
}
a[i] = x;
quick_sort( l, i - 1); //递归左区间
quick_sort( i + 1, r);//递归右区间
}
}
int main()
{
int n ;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
quick_sort(0, n-1);
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
return 0;
}