#include <bits/stdc++.h>
using namespace std;
const int N = 1E4 + 10;
int n, a, s;
vector<int> kia[N];
bool mark[N];
void dfs(int t);
void vin(int n) {
  for (int i = 1; i <= n; i++) {
    cin >> a;
    kia[i].push_back(a);
    kia[a].push_back(i);
  }
  for (int j = 1; j <= n; j++) {
    if (mark[j] == false) {
      s++;
      dfs(j);
    }
  }
  cout << s << endl;
}
void dfs(int t) {
  mark[t] = true;
  for (int u : kia[t]) {
    if (mark[u] == false) {
      dfs(u);
    }
  }
}
int main() {
  cin >> n;
  vin(n);
}
