using namespace std;
void qsort(int* n, int i, int j) {
if (i >= j)return;
int left = i, right = j;
while (left < right) {
while (n[left] <= n[i] && left < right)left++;
while (n[right] >= n[i] && left < right)right--;
swap(n[left], n[right]);
}
if (n[i] > n[left]) {
swap(n[i], n[left]);
qsort(n, i, left - 1);
qsort(n, left + 1, j);
}
else {
swap(n[i], n[left - 1]);
qsort(n, i, left - 2);
qsort(n, left, j);
}
return;
}
int main() {
int N, n[100002];
cin >> N;
for (int i = 0; i < N; i++) {
cin >> n[i];
}
qsort(n, 0, N - 1);
for (int i = 0; i < N; i++)cout << n[i] << " ";
return 0;
}