#include #include using namespace std; int main() { int N; cin >> N; vector 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; }