OI XII - ska

// https://szkopul.edu.pl/problemset/problem/lm7lS3cC3aTRwlRaCztGRkov/site/?key=statement
// Zadanie Skarbonki (ska)

#include <bits/stdc++.h>
using namespace std;

constexpr int sizik = 1000 * 1000 + 7;

std::vector<int> kra[sizik];
std::bitset<sizik> visited;

void DFS(int v) {
    if (visited[v]) {
        return;
    }

    visited[v] = true;

    for (const auto& u : kra[v]) {
        if (!visited[u]) {
            DFS(u);
        }
    }
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n;
    std::cin >> n;

    for (int i = 1; i <= n; i++) {
        int a;
        std::cin >> a;
        if (a != i) {
            kra[a].push_back(i);
            kra[i].push_back(a);
        }
        // w[i]++;
    }

    int ans = 0;

    for (int i = 1; i <= n; i++) {
        if (!visited[i]) {
            ans++;
            DFS(i);
        }
    }

    std::cout << ans << '\n';

    return 0;
}