#include<iostream>
using namespace std;
class QuickSort
{
public:
int* arry, begin = 0, last;
void init_arry()
{
cin >> last;
arry = (int*)malloc(sizeof(int) * last);
for (int i = 0, temp; i < last; i++)
{
cin >> temp;
if (arry != NULL) arry[i] = temp;
}
}
void disp_arry()
{
for (int i = 0; i < last; i++)
cout << arry[i] << endl;
}
int Partition(int begin, int last)
{
int i = begin, j = last;
int temp = arry[begin];
while (i != j)
{
while (j > i && arry[j] >= temp)
j--;
arry[i] = arry[j];
while (i < j && arry[i] <= temp)
i++;
arry[j] = arry[i];
}
arry[i] = temp;
return i;
}
void QSort(int begin, int last)
{
if (begin < last)
{
int i = Partition(begin, last);
QSort(begin, i );
QSort(i + 1, last);
}
}
};
int main()
{
QuickSort QS;
QS.init_arry();
QS.QSort(QS.begin, QS.last-1);
QS.disp_arry();
return 0;
}