#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector P(N + 1); for (int i = 1; i <= N; i++) cin >> P[i]; vector vis(N + 1, 0); vector freq(N, 0); // freq[g] for g in [0..N-1], g>=1 used for (int i = 1; i <= N; i++) { if (vis[i]) continue; vector cyc; int x = i; while (!vis[x]) { vis[x] = 1; cyc.push_back(x); x = P[x]; } int L = (int)cyc.size(); if (L <= 1) continue; int base = cyc[0]; int g = 0; for (int t = 1; t < L; t++) { g = std::gcd(g, abs(cyc[t] - base)); } // g is in [1..N-1] freq[g] += (long long)(L - 1); } vector ans(N, 0); // ans[k], k=1..N-1 for (int k = 1; k <= N - 1; k++) { long long s = 0; for (int m = k; m <= N - 1; m += k) { s += freq[m]; } ans[k] = s; } for (int k = 1; k <= N - 1; k++) { cout << ans[k] << "\n"; } return 0; }