/*
#include<stdio.h>
int a[1000001]={},n;
int bs(int s,int e,int q)
{
int mid=(s+e)/2;
if(s>e) return n+1;
if(a[mid]>=q&&a[mid-1]<q) return mid;
if(a[mid]>=q) return bs(s,mid-1,q);
else return bs(mid+1,e,q);
}
int main()
{
int i,temp;
scanf("%d",&n);
scanf("%d",&temp);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
printf("%d",bs(1,n,temp));
return 0;
}
*/
/*
#include<stdio.h>
int a[100001]= {},b[100001]= {},c[100001]= {},d[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 temp1;
temp1=a[left];
a[left]=a[right];
a[right]=temp1;
int temp2;
temp2=b[left];
b[left]=b[right];
b[right]=temp2;
}
}
while(left<right);
int temp=a[right];
a[right]=a[pivot];
a[pivot]=temp;
int temp2;
temp2=b[right];
b[right]=b[pivot];
b[pivot]=temp2;
qs(s,right-1);
qs(right+1,e);
}
void qs2(int s, int e)
{
int pivot = s;
int left = s, right = e+1;
if(s>=e) return;
do
{
do
{
left++;
}
while(d[pivot] > d[left]);
do
{
right--;
}
while(d[pivot] < d[right]);
if(left<right)
{
int temp2;
temp2=d[left];
d[left]=d[right];
d[right]=temp2;
int temp1;
temp1=c[left];
c[left]=c[right];
c[right]=temp1;
}
}
while(left<right);
int temp2;
temp2=d[right];
d[right]=d[pivot];
d[pivot]=temp2;
int temp=c[right];
c[right]=c[pivot];
c[pivot]=temp;
qs(s,right-1);
qs(right+1,e);
}
int main()
{
int n,m,i;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%d",&a[i]);
b[i]=i-1;
}
qs(1,n);
for(i=1;i<=n;i++)
{
printf("%d %d\n",a[i],b[i]);
}
for(i=1; i<=n; i++)
{
c[i]=i-1;
d[i]=b[i];
}
for(i=1;i<=n;i++)
{
printf("%d %d\n",b[i],a[i]);
}
qs2(1,n);
for(i=1;i<=n;i++)
{
printf("%d %d\n",d[i],c[i]);
}
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 temp=a[left];
a[left]=a[right];
a[right]=temp;
}
}while(left<right);
int temp=a[right];
a[right]=a[pivot];
a[pivot]=temp;
qs(s,right-1);
qs(right+1,s);
}
int main()
{
int n,m,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
qs(1,n);
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
return 0;
}