#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;
}