#include <iostream>
using namespace std;
#include <bits/stdc++.h>
int main() {
// your code goes here
int n;
cin>>n;
int A[n+1]={0};
for(int i=1;i<=n;i++)
{
cin>>A[i];
}
unordered_map<int,int>map;
int count=0;
for(int i=1;i<=n;i++)
{
if(map.find(A[A[A[i]]])!=map.end())
{
count+=map[A[A[A[i]]]];
}
map[A[A[A[i]]]]++;
}
cout<<count;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbjsKCWNpbj4+bjsKCWludCBBW24rMV09ezB9OwoJZm9yKGludCBpPTE7aTw9bjtpKyspCgkgewoJIAljaW4+PkFbaV07CgkgfQoJIAoJIHVub3JkZXJlZF9tYXA8aW50LGludD5tYXA7CgkgaW50IGNvdW50PTA7CgkgZm9yKGludCBpPTE7aTw9bjtpKyspCgkgIHsKCSAgCWlmKG1hcC5maW5kKEFbQVtBW2ldXV0pIT1tYXAuZW5kKCkpCgkgIAkgewoJICAJIAljb3VudCs9bWFwW0FbQVtBW2ldXV1dOwoJICAJIH0KCSAgCSAKCSAgICAgbWFwW0FbQVtBW2ldXV1dKys7CgkgIH0KCSAKCSBjb3V0PDxjb3VudDsKCXJldHVybiAwOwp9