#include <iostream>
#include <algorithm>
#include <iterator>
#include <utility>
#include <cstdlib>
#include <ctime>
using namespace std;
int nums[100000];
int N;
void quick_sort(int left, int right)
{
if (left >= right)
return;
int pivot = rand() % (right - left + 1) + left, t = nums[pivot];
swap(nums[pivot], nums[right]);
int i = left, j = right - 1;
while (true)
{
while (i < j && nums[i] < t)
i++;
while (i < j && nums[j] > t)
j--;
if (i < j)
swap(nums[i], nums[j]);
else
break;
i++, j--;
}
swap(nums[i], nums[right]);
quick_sort(left, i - 1);
quick_sort(i + 1, right);
}
int main()
{
ios::sync_with_stdio(false);
cin >> N;
copy_n(istream_iterator<int>(cin), N, nums);
srand(time(NULL));
quick_sort(0, N - 1);
copy_n(nums, N, ostream_iterator<int>(cout, " "));
cout << flush;
return 0;
}