#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
using namespace std;
const int N = 200005, INF = 0x3f3f3f3f;
const int M = 5000009;
int n, m, cnt, T[N], a[N], b[N], ls[M], rs[M], sum[M];
void read(int &x) {
  x = 0;
  char c = getchar();
  bool flag = 0;
  while (c < '0' || c > '9') {
    if (c == '-') flag = 1;
    c = getchar();
  }
  while (c >= '0' && c <= '9')
    x = (x << 3) + (x << 1) + (c ^ 48), c = getchar();
  if (flag) x = ~x + 1;
}
int Build(int l, int r) {
  int now = ++cnt;
  if (l < r) {
    int mid = (l + r) >> 1;
    ls[now] = Build(l, mid);
    rs[now] = Build(mid + 1, r);
  }
  return now;
}
void Build_new(int mark, int loc) {
  T[mark] = ++cnt;
  sum[cnt] = sum[T[mark - 1]] + 1;
  int l = 1, r = m, now = cnt, still = T[mark - 1];
  for (; ls[still] || rs[still];) {
    int mid = (l + r) >> 1;
    if (loc > mid) {
      ls[now] = ls[still];
      rs[now] = ++cnt;
      sum[rs[now]] = sum[rs[still]] + 1;
      now = rs[now];
      still = rs[still];
      l = mid + 1;
    } else {
      rs[now] = rs[still];
      ls[now] = ++cnt;
      sum[ls[now]] = sum[ls[still]] + 1;
      now = ls[now];
      still = ls[still];
      r = mid;
    }
  }
}
int query(int a, int b, int l, int r, int k) {
  if (l == r) return 0;
  int mid = (l + r) >> 1;
  if (k <= mid) return query(ls[a], ls[b], l, mid, k);
  return sum[ls[b]] - sum[ls[a]] + query(rs[a], rs[b], mid + 1, r, k);
}
signed main() {
  read(n);
  for (register int i = (1); i <= (n); i++) read(a[i]), b[i] = a[i];
  sort(b + 1, b + 1 + n);
  m = unique(b + 1, b + 1 + n) - b - 1;
  T[0] = Build(1, m);
  for (register int i = (1); i <= (n); i++) {
    int loc = lower_bound(b + 1, b + 1 + m, a[i]) - b;
    Build_new(i, loc);
  }
  for (register int i = (1); i <= (n - 1); i++) {
    int ans = 0;
    for (register int j = 0;; j++) {
      int l = j * i + 2, r = l + i - 1;
      r = min(r, n);
      int loc = lower_bound(b + 1, b + 1 + m, a[j + 1]) - b;
      ans += query(T[l - 1], T[r], 1, m, loc);
      if (r == n) break;
    }
    printf("%d ", ans);
  }
  return 0;
}
