#include #include #include #include #include #include #include #include #include using namespace std; #define MP make_pair #define PB push_back #define foreach(e,x) for(__typedef(x.begin()) e=x.begin(); e!=x.end(); ++e) typedef long long LL; typedef vector VI; typedef pair mapII; const int MAX_N = 1000000 + 10; const double PI = acos(-1.); const double EPS = 1e-8; int N; int a[MAX_N]; void read(int &x) { x = 0; char ch; for( ; ch = getchar(); ) { if (isdigit(ch)) break; } x = ch - '0'; for( ; ; ) { ch = getchar(); if (! isdigit(ch)) break; x = x * 10 + ch - '0'; } } void solve() { for(int i = 1; i <= N; ++ i) a[i] = i; int u; for(int i = 1; i <= N; ++ i) { read(u); a[u] = a[i]; } int ret = 0; for(int i = 1; i <= N; ++ i) ret += a[i] == a[1]; printf("%d\n", ret - 1); } int main() { for( ; cin >> N; ) solve(); return 0; }