#include <iostream>
void Quicksort(int *a, int left, int right);
void swap(int *a, int m, int n);
int main()
{
int n;
std::cin >> n;
int *a = (int *)malloc(n * sizeof(int));
for (int i = 0; i < n;i++)
{
std::cin >> a[i];
}
Quicksort(a,0,n-1);
for (int i = 0; i < n;i++)
{
std::cout << a[i] << std::endl;
}
return 0;
}
void Quicksort(int *a,int left,int right)
{
int tmp = a[left];
int i = left;
int j = right;
if(left<right)
{
while(i!=j)
{
while(a[j]>=tmp&&i<j)
j--;
while(a[i]<=tmp&&i<j)
i++;
swap(a, i, j);
}
swap(a, left, i);
Quicksort(a, left, j - 1);
Quicksort(a, j + 1, right);
}
}
void swap(int *a,int m,int n)
{
int tmp;
tmp = a[m];
a[m] = a[n];
a[n] = tmp;
}