#include <bits/stdc++.h>
using namespace std;
int n;
int a[200000];
vector<int> t[800000];
void build(int v, int tl, int tr) {
  if (tl == tr)
    t[v].push_back(a[tl]);
  else {
    int tm = (tl + tr) / 2;
    build(v + v, tl, tm);
    build(v + v + 1, tm + 1, tr);
    t[v].resize(t[v + v].size() + t[v + v + 1].size());
    merge(t[v + v].begin(), t[v + v].end(), t[v + v + 1].begin(),
          t[v + v + 1].end(), t[v].begin());
  }
}
int num(int v, int tl, int tr, int l, int r, int x) {
  if (l > r || l > tr) return 0;
  if (tl == l && tr == r)
    return (lower_bound(t[v].begin(), t[v].end(), x) - t[v].begin());
  else {
    int tm = (tl + tr) / 2;
    return num(v + v, tl, tm, l, min(r, tm), x) +
           num(v + v + 1, tm + 1, tr, max(l, tm + 1), r, x);
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  for (int i = 0; i < n; ++i) cin >> a[i];
  build(1, 0, n - 1);
  for (int k = 1; k < n; ++k) {
    int r = 0;
    for (int j = 0; k * j + 1 < n; ++j)
      r += num(1, 0, n - 1, k * j + 1, min(k * j + k, n - 1), a[j]);
    cout << r << " ";
  }
  cout << endl;
  return 0;
}
