#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:100000000")
using namespace std;
int a[201000], s[201000], u[201000];
bool can(int p, int i, int k) { return p * k + 1 <= i && i <= (p + 1) * k; }
int main() {
  int n, k, i, j, l, r;
  for (scanf("%d", &n), i = 0; i < n; scanf("%d", &a[i]), i++)
    ;
  for (k = 1; k < 500; k++)
    for (i = 1; i < n; i++)
      if (a[(i - 1) / k] > a[i]) u[k]++;
  for (i = 0; i < 500; i++) {
    for (j = 0; j < n; s[j + 1] = s[j] + (a[j] < a[i]), j++)
      ;
    for (k = 500; k < n;
         u[k] += s[min(i * k + k + 1, n)] - s[min(i * k + 1, n)], k++)
      ;
  }
  for (i = 1; i <= n - 1; printf("%d ", u[i]), i++)
    ;
  return 0;
}
