#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 2e5 + 10, MAX_LOG_N = 19;
int n;
int Arr[MAX_N];
int seg[MAX_LOG_N][MAX_N];
void build(int s = 0, int e = n, int lvl = 0) {
  if (e - s == 1) {
    seg[lvl][s] = Arr[s];
    return;
  }
  int mid = e + s >> 1;
  build(s, mid, lvl + 1);
  build(mid, e, lvl + 1);
  for (int i = s; i < e; i++) seg[lvl][i] = Arr[i];
  sort(seg[lvl] + s, seg[lvl] + e);
}
int get(int l, int r, int val, int s = 0, int e = n, int lvl = 0) {
  if (l <= s && e <= r)
    return lower_bound(seg[lvl] + s, seg[lvl] + e, val) - (seg[lvl] + s);
  if (r <= s || e <= l) return 0;
  int mid = e + s >> 1;
  return get(l, r, val, s, mid, lvl + 1) + get(l, r, val, mid, e, lvl + 1);
}
int main() {
  ios::sync_with_stdio(false), cin.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) cin >> Arr[i];
  build();
  for (int k = 1; k < n; k++) {
    int res = 0;
    for (int i = 0; k * i + 1 < n; i++)
      res += get(k * i + 1, min(n, k * (i + 1) + 1), Arr[i]);
    cout << res << " ";
  }
  return 0;
}
