#include <stdio.h>
#include <stdlib.h>
void change(int *a,int *b){
*a=*b;
}
void quickSort(int *arr,int start,int end) {
if(start>end)
return;
if(start<end)
{
int base =arr[start];
int left = start;
int right = end;
while(left<right)
{
while(arr[right] >= base && left < right)
{
right--;
}
change(&arr[left],&arr[right]);
while(arr[left] <= base && left < right)
{
left++;
}
change(&arr[right],&arr[left]);
}
if(left==right)
change(&arr[left],&base);
if(start<left-1)
quickSort(arr,start,left-1);
if(left+1<end)
quickSort(arr,left+1,end);
}
}
int main(int argc, const char * argv[]) {
int start=0,n;
scanf("%d",&n);
int arr[n];
for(int i=0;i<n;i++)
scanf("%d",&arr[i]);
quickSort(arr,start,n-1);
for(int i=0;i<n-1;i++)
printf("%d ",arr[i]);
printf("%d",arr[n-1]);
printf("\n");
return 0;
}