#include<iostream>
using namespace std;
int a[100001]; int n = 0;
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
int getPivot(int l, int r)
{
int mid = (l + r) >> 1;
if (a[l] > a[mid])
{
swap(a[l], a[mid]);
}
if (a[l] > a[r])
{
swap(a[l], a[r]);
}
if (a[mid] > a[r])
{
swap(a[r], a[mid]);
}
swap(a[mid], a[r - 1]);
return a[r - 1];
}
void quicksort(int left, int right)
{
if (left == right) return;
int pivot, high, low;
pivot = getPivot(left, right);
high = right - 1;
low = left;
while (1)
{
while (a[--high] > pivot);
while (a[++low] < pivot);
if (high < low) break;
else
{
swap(a[high], a[low]);
}
}
swap(a[low], a[right - 1]);
quicksort(left, low - 1);
quicksort(low + 1, right);
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
quicksort(1, n);
for (int i = 1; i <= n; i++)
{
cout << a[i] << " ";
}
}