#include <bits/stdc++.h>
using namespace std;
#define NMAX 500003
int v[NMAX];
void quick_sort(int v[], int lower, int upper) {
if (lower < upper) {
int mid = lower + (upper - lower) / 2;
int piv = v[mid];
std::swap(v[mid], v[upper]);
int p = lower;
int aux;
for (int i = lower; i < upper; i++) {
if (v[i] <= piv)
swap(v[p++], v[i]);
}
swap(v[upper], v[p]);
quick_sort(v, p + 1, upper);
quick_sort(v, lower, p - 1);
}
}
int main() {
FILE *fin = fopen("algsort.in", "r");
FILE *fout = fopen("algsort.out", "w");
int N;
fscanf(fin, "%d", &N);
for (int i = 1; i <= N; i++) {
fscanf(fin, "%d", &v[i]);
}
quick_sort(v, 1, N );
for (int i = 1; i <= N; i++) {
fprintf(fout, "%d ", v[i]);
}
fclose(fin);
fclose(fout);
}