#include<iostream>
#include<algorithm>
using namespace std;
int s[100010];
void qsort(int l, int r) {
int mid = (l + r) / 2;
int i = l, j = r;
while (i < j) {
while (s[j] >= s[mid]) {
j--;
}
while (s[i] < s[mid]) {
i++;
}
if (i < j) {
swap(s[i], s[j]);
i++;
j--;
}
}
if (l < j) qsort(l, j);//递归搜索左半部分
if (i < r) qsort(i, r);//递归搜索右半部分
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> s[i];
}
qsort(1,n);
for (int i = 0; i < n; i++) {
cout << s[i] << " ";
}
return 0;
}