#include <bits/stdc++.h>
using namespace std;
int a[600005], b[600005], ans;
void merge (int l, int r ) {
if (l == r) {
return ;
}
int mid = l + r / 2;
int i = 1, j = mid + 1, tot = 1;
while (i <= mid && j <= r) {
if (a[i] <= a[j]) {
b[tot++] = a[i];
i++;
} else {
b[tot++] = a[j];
j++;
}
}
while (i <= mid) {
b[tot++] = a[i];
i++;
}
while (j <= r) {
b[tot++] = a[j];
j++;
}
for (int i = 1; i <= r; i++) {
a[i] = b[i];
}
return ;
}
void mergesort(int l, int r) {
if (l < r) {
int mid = (l + r) / 2;
mergesort(l, mid);
mergesort(mid + 1, r);
merge(l, r);
}
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
mergesort(1, n);
for (int i = 1; i <= n; i++) {
cout << a[i] << " ";
}
return 0;
}