/*#include <stdio.h>
void f(int* a,int len)
{
for(int i=0;i<len;i++)
{
printf("%d ",a[i]);
}
}
void ff(char* s)
{
printf("%s",s);
}
int main()
{
int arr[5]={5,4,3,2,1};
// int* pa=&a;
char str[5];
scanf("%s",str);
ff(str);
//printf("%d\n",a);
// printf("%d\n",pa);
// printf("%d\n",*pa);
// f(arr,5);
return 0;
}*/
/*
#include <stdio.h>
void f(char*s,int a,int b)
{
for (int i=a; i<a+b; i++)
{
printf("%c",s[i]);
}
}
int main()
{
int a,b,i,n;
char str[101]={};
scanf("%s",str);
scanf("%d %d",&a,&b);
f(str,a,b);
}
*/
/*
#include <stdio.h>
int arr[1000000]={};
//binary_search
int bs(int s, int e, int k)
{
int mid=(s+e)/2;
if(s>e) return -1;
if(arr[mid]==k) return mid;
else if(arr[mid]<k) bs(mid+1,e,k);
else bs(s,mid-1,k);
}
int main()
{
int n,m,i,j,a;
scanf("%d",&n);
for (i=1; i<=n; i++)
{
scanf("%d",&arr[i]);
}
scanf("%d",&m);
for (i=1; i<=m; i++)
{
scanf("%d",&a);
printf("%d ",bs(1,n,a));
}
}
#include <stdio.h>
int ar[100000]={};
int n;
int bs(int s, int e, int k)
{
int mid= (s+e)/2;
if (s==e)
{
if(k<=ar[mid]) return mid;
else return n+1;
}
if (k<=ar[mid]) bs (s,mid,k);
else bs (mid+1,e,k);
}
int main()
{
int k,i;
scanf("%d %d",&n,&k);
for (i=1; i<=n; i++)
{
scanf("%d",&ar[i]);
}
printf("%d",bs(1,n,k));
for (i=0; i<n; i++)
{
if (k==ar[i]) printf("%d",i+1);
if (k>ar[n-1]) printf("%d",n+1);
}
}
*/
#include <stdio.h>
int ar[50000]={};
int bs(int s, int e, int k)
{
int mid=(s+e)/2;
if(s>e) return -1;
if(ar[mid]==k) return mid;
else if(ar[mid]<k) bs(mid+1,e,k);
else bs(s,mid-1,k);
}
int main()
{
int n,i,j,tmp;
int br[50000]={};
scanf("%d",&n);
for (i=1; i<=n; i++)
{
scanf("%d",&ar[i]);
br[i]=ar[i];
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(ar[j]>ar[j+1])
{
tmp=ar[j];
ar[j]=ar[j+1];
ar[j+1]=tmp;
}
}
}
for (i=1; i<=n; i++)
{
printf("%d ",bs(1,n,br[i])-1);
}
}