#include<iostream>
using namespace std;
void merge(int a[], int left, int mid, int right)
{
int i = left;
int j = mid + 1;
int *temp = new int[right - left + 1];
int t = 0;
while (i <= mid && j <= right)
{
if (a[i] <= a[j])
temp[t++] = a[i++];
else
temp[t++] = a[j++];
}
while (i <= mid)
temp[t++] = a[i++];
while (j <= right)
temp[t++] = a[j++];
t = 0;
for (int i = left; i <= right; i++, t++)
a[i] = temp[t];
}
void mergesort(int a[], int left, int right)
{
if (left<right)
{
int mid = (left + right) / 2;
mergesort(a, left, mid);
mergesort(a, mid + 1, right);
merge(a, left, mid, right);
}
}
int main()
{
int n, a[100];
cin >> n;
for (int i = 0; i<n; i++)
cin >> a[i];
mergesort(a, 0, n - 1);
for (int i = 0; i<n; i++)
cout << a[i] << " ";
return 0;
}