#include<stdio.h>
int Partition(int a[], int low, int high)
{
int pivot = a[(low + high) / 2];
int tem=0;
while (low <= high)
{
while (a[high] > pivot)
high--;
while (a[low] < pivot)
low++;
if (low <= high)
{
tem = a[low];
a[low] = a[high];
a[high] = tem;
low++;
high--;
}
}
return low;
}
void QuickSort(int a[], int low, int high)
{
if (low < high)
{
int pivotpos = Partition(a, low, high);
QuickSort(a, low, pivotpos - 1);
QuickSort(a, pivotpos + 1, high);
}
}
int main()
{
int n,arr[100000]={0},i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
QuickSort(arr,0,n-1);
for(i=0;i<n-1;i++)
printf("%d ",arr[i]);
printf("%d\n",arr[n-1]);
return 0;
}