/*
#include <stdio.h>
int main()
{
int n, i, j;
int buble[50001],arr[50001],temp;
scanf("%d", &n);
for (i=1; i<=n; i++)//입력
{
scanf("%d", &arr[i]);
buble[i]=arr[i];
}
for(i=1; i<n; i++)//정렬
{
for(j=1; j<=n-i; j++)
{
if (buble[j] > buble[j+1])
{
temp = buble[j];
buble[j] = buble[j+1];
buble[j+1] = temp;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(arr[i]==buble[j])
{
printf("%d ",j-1);
}
}
}
return 0;
}
*/
#include <stdio.h>
int a[100001]={};
void qs(int s, int e)
{
int pivot=s;
int left=s,right=e+1;
if(s>=e) return ;
do
{
do
{
left++;
}while(a[pivot]>=a[left]);
do
{
right--;
}while(a[pivot]<=a[right]);
if(left<right)
{
int tmp=a[left];
a[left]=a[right];
a[right]=tmp;
}
}while(left<right);
int tmp=a[pivot];
a[pivot]=a[right];
a[right]=tmp;
qs(s,right-1);
qs(right+1,e);
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
qs(1,n);
for(int i=1;i<=n;i++)
{
printf("%d\n",a[i]);
}
}