#include<iostream>
#include<stdlib.h>
using namespace std;
int arr[100005];
int midnum(int a,int b,int c)
{
if(arr[a]>arr[b]>arr[c] || arr[c]>arr[b]>arr[a]) return b;
if(arr[a]>arr[c]>arr[b] || arr[b]>arr[c]>arr[a]) return c;
if(arr[b]>arr[a]>arr[c] || arr[c]>arr[a]>arr[b]) return a;
}
void swap(int& x, int& y)
{
int temp = x;
x = y;
y = temp;
}
void qsort(int L, int R)
{
if (L < R)
{
int pivot = midnum(L,R,(L+R)/2);
swap(arr[pivot],arr[R]);
int key = arr[R];
int i = L;
int j = R;
while (i < j && arr[i] <= key)i++;
while (i < j && arr[j] >= key)j--;
swap(arr[i], (i == j) ? arr[R] : arr[j]);
qsort(L, j - 1);
qsort(i + 1, R);
}
}
int main()
{
std::ios::sync_with_stdio(false);std::cin.tie(0);
int m;
cin >> m;
for (int i = 0; i < m; i++)
cin >> arr[i];
qsort(0, m - 1);
for (int i = 0; i < m; i++)
cout << arr[i] << " ";
return 0;
}