#include <stdio.h>
#include <stdlib.h>
int a[50000] = {};
int sort[50000] = {};
int compare(int* pa, int* pb)
{
if (*pa < *pb) return -1;
else if (*pa > *pb) return 1;
else return 0;
}
int bs(int s, int e, int k)
{
if (s > e) return -1;
int mid = (s + e) / 2;
if (sort[mid] == k) return mid;
else if (sort[mid] > k) return bs(s, mid - 1, k);
else return bs(mid + 1, e, k);
}
int main()
{
int n, i;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
sort[i] = a[i];
}
int start = 0;
int end = n - 1;
qsort(sort, n, sizeof(int), compare);
for (i = 0; i < n; i++)
{
printf("%d ", bs(start, end, a[i]));
}
return 0;
}