#include <bits/stdc++.h> #include <atcoder/dsu> using namespace std; int main() { int N; cin >> N; vector<int> P(N); for(int& p : P) { cin >> p; p--; } atcoder::dsu uf(N); for(int i = 0; i < N; i++) uf.merge(i, P[i]); int ans = N; for(int i = 0; i < N; i++) if(uf.leader(i) == i) ans--; cout << ans << endl; }