#include <iostream>
#include <cstdio>
using namespace std;
const int MAX = 1000;
int L[MAX], R[MAX];
void Merge(int A[], int p, int q, int r)
{
int R[MAX], L[MAX];
int n1 = q - p + 1;
int n2 = r - q;
for(int i = 1; i <= n1; i++){
L[i] = A[p+i-1];
}
for(int j = 1; j <= n2; j++){
R[j] = A[q+j];
}
int i = 1, j = 1, k = p;
while(i <= n1 && j <= n2){
if(L[i] <= R[j]){
A[k++] = L[i++];
}
else{
A[k++] = R[j++];
}
}
while(i <= n1){
A[k++] = L[i++];
}
while(j <= n2){
A[k++] = R[j++];
}
}
void Merge_sort(int A[], int p, int r)
{
int q;
if(p < r){
q = (p+r)/2;
Merge_sort(A, p, q);
Merge_sort(A, q+1, r);
Merge(A, p, q, r);
}
}
int main()
{
int n, a[MAX];
scanf("%d", &n);
for(int i = 1; i <= n; i++){
scanf("%d", &a[i]);
}
Merge_sort(a, 1, n);
for(int i = 1; i <= n; i++){
cout << a[i] << " ";
}
cout << endl;
return 0;
}