/*
#include <stdio.h>
struct array
{
int a;
int b;
};
int main()
{
int i,n,j,k=0,temp;
struct array s[50001];
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&s[i].a);
s[i].b=0;
}
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
if (s[i].a<s[j].a)
{
s[j].b++;
}
}
}
for (i=0; i<n; i++)
{
printf("%d ",s[i].b);
}
}
*/
/*
#include <stdio.h>
int x[100001],s,e;
void swap(int a,int b)
{
int temp;
temp=x[a];
x[a]=x[b];
x[b]=temp;
}
int partition(int start,int end)
{
s=start+1;
e=end;
while (s<=e)
{
while (x[start]>=x[s])
{
s++;
}
while (x[start]<x[e])
{
e--;
}
if (s<e)
{
swap(s,e);
}
}
swap(start,e);
return e;
}
void quicksort(int d,int f)
{
int k;
k=partition(d,f);
if (d<f)
{
quicksort(d,k-1);
quicksort(k+1,f);
}
}
int main()
{
int n,i,j;
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&x[i]);
}
quicksort(0,n-1);
for (i=0; i<n; i++)
{
printf("%d\n",x[i]);
}
}
*/