#include using namespace std; using ll=long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rrep(i, s, n) for (int i = (s); i < (int)(n); i++) const long long mod=998244353; const long long mod2=469762049; const long long mod100=1000000007; int N; int P[200009]; bool already[200009]; ll ans[200009]; void solve(vectorcycle){ if(cycle.size()==1) return; vectordat; cycle.push_back(cycle[0]); for(int i=1;i<(int)(cycle.size());i++){ int d=abs(cycle[i]-cycle[i-1]); dat.push_back(d); } int GCD=dat[0]; for(int i=0;i>N; for(int i=1;i<=N;i++) cin>>P[i]; for(int i=1;i<=N;i++){ already[i]=false; ans[i]=0; } for(int i=1;i<=N;i++){ if(already[i]) continue; vectorcycle; int p=i; while(true){ if(already[p]) break; already[p]=true; cycle.push_back(p); p=P[p]; } solve(cycle); } for(int i=1;i