#include using namespace std; #define rep(i,a,b) for (int i=(int)(a);i<(int)(b);i++) int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector p(N); rep(i, 0, N) cin >> p[i], p[i]--; vector ans(N); rep(i, 0, N) if (p[i] != -1){ int g = 0; int sz = 0; vector q; while (p[i] != -1){ int nx = p[i]; for (auto x : q) g = gcd(g, abs(x - nx)); q.push_back(nx); p[i] = -1; i = nx; sz++; } ans[g] += sz - 1; } rep(i, 1, N){ for (int j = i * 2; j < N; j += i){ ans[i] += ans[j]; } cout << ans[i] << "\n"; } }