#include #include using namespace std; int main(){ int n; cin>>n; vector p(n); atcoder::dsu uf(n); for (int i=0;i>p[i],p[i]--; uf.merge(i,p[i]); } vector ans(n); for (auto g:uf.groups()){ sort(g.begin(),g.end()); int m=g.size(); if (m==1) continue; int val=0; for (int i=1;i