import java.util.*;
public class Main {
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in);
long n = scanner.nextLong();
int[] v = new int[(int) n + 1];
for (int i = 1; i <= n; i++) {
v[i] = scanner.nextInt();
}
Map
<Integer, Long
> mp
= new HashMap
<>(); long ans = 0;
for (int i = 1; i <= n; i++) {
int key = v[v[v[i]]];
mp.put(key, mp.getOrDefault(key, 0L) + 1);
// ans = Math.max(ans, mp.get(key));
}
for (long x : mp.values()) {
ans += (x * (x - 1)) / 2;
}
scanner.close();
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2Nhbm5lciA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgCiAgICAgICAgbG9uZyBuID0gc2Nhbm5lci5uZXh0TG9uZygpOwogICAgICAgIGludFtdIHYgPSBuZXcgaW50WyhpbnQpIG4gKyAxXTsKICAgICAgICAKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgdltpXSA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBNYXA8SW50ZWdlciwgTG9uZz4gbXAgPSBuZXcgSGFzaE1hcDw+KCk7CiAgICAgICAgbG9uZyBhbnMgPSAwOwoKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgaW50IGtleSA9IHZbdlt2W2ldXV07CiAgICAgICAgICAgIG1wLnB1dChrZXksIG1wLmdldE9yRGVmYXVsdChrZXksIDBMKSArIDEpOwogICAgICAgICAgICAvLyBhbnMgPSBNYXRoLm1heChhbnMsIG1wLmdldChrZXkpKTsKICAgICAgICB9CgogICAgICAgIGZvciAobG9uZyB4IDogbXAudmFsdWVzKCkpIHsKICAgICAgICAgICAgYW5zICs9ICh4ICogKHggLSAxKSkgLyAyOwogICAgICAgIH0KCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGFucyk7CiAgICAgICAgc2Nhbm5lci5jbG9zZSgpOwogICAgfQp9Cg==