#include using LL = long long; const int N = 2e5 + 7; const int MOD = 998244353; int a[N], n, v[N], vis[N]; int main() { scanf("%d", &n); for(int i = 1; i <= n; ++i) scanf("%d", &a[i]); for(int i = 1; i <= n; ++i) if(!vis[i]) { int p = 0, t = 0; for(int x = i; !vis[a[x]]; x = a[x]) { ++t; vis[a[x]] = 1; p = std::__gcd(p, std::abs(x - a[x])); } v[p] += t - 1; } for(int i = 1; i < n; ++i) { int ans = 0; for(int j = i; j <= n; j += i) ans += v[j]; printf("%d\n", ans); } return 0; }