#include using namespace std; #define int long long int #define endl "\n" void dfs(int u,int &sz,vector &vis,vector> &adj){ vis[u] = 1; sz++; for(auto &v:adj[u]){ if(vis[v]==0)dfs(v,sz,vis,adj); } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n;cin>>n; vector p(n); for(int i=0;i>p[i]; vector> adj(n+1); vector c(n+1,0); for(int i=0;i q; for(int i=1;i<=n;i++){ if(c[i]==0)q.push(i); } vector v(n+1,0); vector s; while(!q.empty()){ int i = q.front(); q.pop(); if(v[i]==0){ int sz=0; dfs(i,sz,v,adj); s.push_back(sz); } } int ans=0; for(int i=0;i=3)ans++; } cout<