#include #include using namespace std; using namespace atcoder; #define ll long long #define rep(i,a,b) for(int i=(a);i<(b);i++) #define repl(i,a,b) for(ll i=(a);i<(b);i++) #define all(a) (a).begin(),(a).end() template bool chmin(T &a,T b){if(a>b){a=b;return true;} return false;} template bool chmax(T &a,T b){if(a> n; vector ch(n,false); vector p(n); rep(i,0,n){ cin >> p[i]; p[i]--; if(p[i] != -1) ch[p[i]]=true; } vector flag(n,false); int ans=0; rep(i,0,n){ if(ch[i]) continue; int now=i; int num=0; while(p[now] != -1 && num<=2){ now=p[now]; num++; if(num == 2){ if(flag[now]) break; ans++; flag[now]=true; } } } cout << ans << endl; }