Time Limit: 2 sec / Memory Limit: 256 MB
配点 : 200 点
問題文
N 匹のうさぎがいます。 うさぎには 1 から N まで番号が振られています。
各 1≤i≤N について、うさぎ i はうさぎ a_i が好きです。 ただし、自分自身が好きなうさぎはいません。 すなわち、a_i≠i です。
うさぎ i とうさぎ j のペア (i,j) (i<j) が次の条件を満たすとき、ペア (i,j) は仲良しであるといいます。
- うさぎ i はうさぎ j が好きであり、うさぎ j はうさぎ i が好きである。
仲良しなペアの個数を求めてください。
制約
- 2≤N≤10^5
- 1≤a_i≤N
- a_i≠i
入力
入力は以下の形式で標準入力から与えられる。
N a_1 a_2 ... a_N
出力
仲良しなペアの個数を出力してください。
入力例 1
4 2 1 4 3
出力例 1
2
仲良しなペアは (1,2) と (3,4) の 2 個です。
入力例 2
3 2 3 1
出力例 2
0
仲良しなペアはありません。
入力例 3
5 5 5 5 5 1
出力例 3
1
仲良しなペアは (1,5) の 1 個です。
Score : 200 points
Problem Statement
There are N rabbits, numbered 1 through N.
The i-th (1≤i≤N) rabbit likes rabbit a_i. Note that no rabbit can like itself, that is, a_i≠i.
For a pair of rabbits i and j (i<j), we call the pair (i,j) a friendly pair if the following condition is met.
- Rabbit i likes rabbit j and rabbit j likes rabbit i.
Calculate the number of the friendly pairs.
Constraints
- 2≤N≤10^5
- 1≤a_i≤N
- a_i≠i
Input
The input is given from Standard Input in the following format:
N a_1 a_2 ... a_N
Output
Print the number of the friendly pairs.
Sample Input 1
4 2 1 4 3
Sample Output 1
2
There are two friendly pairs: (1,2) and (3,4).
Sample Input 2
3 2 3 1
Sample Output 2
0
There are no friendly pairs.
Sample Input 3
5 5 5 5 5 1
Sample Output 3
1
There is one friendly pair: (1,5).