#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]) { vis[i] = 1; int p = 0; for(int x = i; !vis[a[x]]; x = a[x]) p = std::__gcd(p, std::abs(x - a[x])); ++v[p]; } 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; }