#include<stdio.h>
int is_gone[121212], ck[121212], a[121212];
int main() {
int n, i, t = 1, ans = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++)scanf("%d", &a[i]);
for (i = 1; i <= n; i++) {
if (is_gone[i])continue;
int now = i;
while (1) {
ck[now] = i, is_gone[now] = t++;
if (ck[a[now]] != 0) {
if (ck[a[now]] == i) ans += t - is_gone[a[now]];
break;
}
now = a[now];
}
}
printf("%d", ans);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IGlzX2dvbmVbMTIxMjEyXSwgY2tbMTIxMjEyXSwgYVsxMjEyMTJdOwppbnQgbWFpbigpIHsKCWludCBuLCBpLCB0ID0gMSwgYW5zID0gMDsKCXNjYW5mKCIlZCIsICZuKTsKCWZvciAoaSA9IDE7IGkgPD0gbjsgaSsrKXNjYW5mKCIlZCIsICZhW2ldKTsKCWZvciAoaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJaWYgKGlzX2dvbmVbaV0pY29udGludWU7CgkJaW50IG5vdyA9IGk7CgkJd2hpbGUgKDEpIHsKCQkJY2tbbm93XSA9IGksIGlzX2dvbmVbbm93XSA9IHQrKzsKCQkJaWYgKGNrW2Fbbm93XV0gIT0gMCkgewoJCQkJaWYgKGNrW2Fbbm93XV0gPT0gaSkgYW5zICs9IHQgLSBpc19nb25lW2Fbbm93XV07CgkJCQlicmVhazsKCQkJfQoJCQlub3cgPSBhW25vd107CgkJfQoJfQoJcHJpbnRmKCIlZCIsIGFucyk7CglyZXR1cm4gMDsKfQ==