#include <bits/stdc++.h>
using namespace std;
const int MX = 2e6 + 10;
const int mod = 1e9 + 7;
const long long int inf = 1LL << 62;
int dx4[] = {0, 0, -1, 1};
int dy4[] = {1, -1, 0, 0};
int dx[] = {1, 1, 1, 0, 0, -1, -1, -1};
int dy[] = {1, 0, -1, 1, -1, 1, 0, -1};
long long int ar[MX], br[MX];
int main() {
  long long int n, m, k, q, t, cnt = 0, sum = 0, mx = -inf, mn = inf;
  scanf("%lld", &n);
  for (int i = 0; i < n; i++) {
    scanf("%lld", &ar[i]);
    br[ar[i]] = i;
    if (i == ar[i]) cnt++;
  }
  if (cnt == n) return cout << (cnt) << endl, 0;
  for (int i = 0; i < n; i++) {
    if (ar[i] == i) continue;
    if (ar[ar[i]] == i) return cout << (cnt + 2) << endl, 0;
  }
  cout << (cnt + 1) << endl;
  return 0;
}
