#include <bits/stdc++.h>
using namespace std;
struct aa {
  int a, b;
  bool operator<(const aa &q) const {
    if (q.a < a)
      return true;
    else if (q.a == a) {
      if (q.b < b) return true;
    }
    return false;
  }
} a[1000000];
int n;
int ans[1000000];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i].a);
    a[i].b = i;
    ans[i] = -2;
  }
  stable_sort(a + 1, a + n + 1);
  int topn = n;
  for (int i = 1; i <= n; i++) {
    if (a[i].b == topn) {
      ans[a[i].b] = -1;
      while (ans[topn] != -2) topn--;
    } else
      ans[a[i].b] = topn - a[i].b - 1;
  }
  for (int i = 1; i <= n - 1; i++) printf("%d ", ans[i]);
  printf("%d\n", ans[n]);
}
