#include <bits/stdc++.h>
using namespace std;
const int INF = (int)1E9;
int s[200005];
void add(int k, int v) {
  k++;
  for (; k < 200005; k += -k & k) s[k] += v;
}
int get(int k) {
  if (k < 0) return 0;
  k++;
  int ans = 0;
  for (; k; k -= -k & k) ans += s[k];
  return ans;
}
int N;
pair<int, int> a[200005];
int ans[200005];
int main() {
  cin >> N;
  for (int i = (1); i < (N + 1); i++) {
    scanf("%d", &a[i].first);
    a[i].second = i;
  }
  sort(a + 1, a + 1 + N);
  for (int i = (1); i < (N + 1); i++) {
    int j = i;
    while (j <= N && a[j].first == a[i].first) j++;
    for (int t = (i); t < (j); t++) {
      int v = a[t].second;
      for (int k = (1); k < (N); k++) {
        int l = k * (v - 1) + 2, r = k * v + 1;
        if (l > N) break;
        r = min(r, N);
        int sol = get(r) - get(l - 1);
        ans[k] += sol;
      }
    }
    for (int t = (i); t < (j); t++) add(a[t].second, 1);
    i = j - 1;
  }
  for (int i = (1); i < (N); i++) {
    printf("%d ", ans[i]);
  }
  return 0;
}
