#pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include using namespace std; using namespace atcoder; int main() { cin.tie(0); ios::sync_with_stdio(false); int N, P; cin >> N; dsu uf(N); for( int i = 0; i < N; i++ ) { cin >> P; uf.merge(i, P-1); } cout << N-uf.groups().size() << endl; }