#include
using namespace std;
void merge(int *arr, int start, int end) {
int mid = (start+end)/2;
int i = start, j = mid+1, k = start;
int temp[10000];
while(i <= mid and j <= end) {
if(arr[i] < arr[j]) {
temp[k++] = arr[i++];
}
else {
temp[k++] = arr[j++];
}
}
while(i <= mid) {
temp[k++] = arr[i++];
}
while(j <= end) {
temp[k++] = arr[j++];
}
for(int i = start; i <= end; i++) {
arr[i] = temp[i];
}
}
// function for merge sort
void mergeSort(int *arr, int start, int end) {
if(start >= end) {
return;
}
int mid = (start+end)/2;
mergeSort(arr, start, mid);
mergeSort(arr, mid+1, end);
merge(arr, start, end);
}
int main()
{
int n;
cin>>n;
int arr[10000];
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
mergeSort(arr,0,n-1);
for(int i=0;i<n;i++)
{
cout<<arr[i]<<" ";
}
return 0;
}