编程题
小秘密
### 题目描述
$n$ 个小朋友正在做一个游戏,每个人要分享一个自己的小秘密。
每个小朋友都有一个 $1$ 到 $n$ 的编号,编号不重复。
为了让这个游戏更有趣,老师给每个小朋友发了一张卡片,上面有一个 $1$ 到 $n$ 的数字,每个数字正 好出现一次。
每个小朋友都将自己的秘密写在纸上,然后根据老师发的卡片上的数字将秘密传递给对应编号的小 朋友。如果老师发给自己的数字正好是自己的编号,这个秘密就留在自己手里。
小朋友们拿到其他人的秘密后会记下这个秘密,老师会再指挥所有小朋友将手中的秘密继续传递,仍然根据老师发的卡片上的数字将秘密传递给对应编号的小朋友。
这样不断重复 $n$ 次。
现在,每个小朋友都记下了很多个秘密。
老师现在想找一些小朋友,能说出所有秘密,请问老师最少要找几个小朋友?
### 输入描述
输入的第一行包含一个整数 $n$。
第二行包含 $n$ 个整数 $a[1], a[2], \cdots, a[n]$,相邻的整数间用空格分隔,分别表示编号 $1$ 到 $n$ 的小朋友 收到的数字。
### 输出描述
输出一行包含一个整数,表示答案。
### 输入输出样例
#### 示例
>输入
```txt
6
2 1 3 5 6 4
```
>输出
```txt
3
```
### 样例说明
最终小朋友 $1, 2$ 互相知道了对方的秘密,小朋友 $3$ 只知道自己的秘密,小朋友 $4, 5, 6$ 互相知道了对方的秘密。
至少要找 $3$ 个小朋友才能说出所有秘密。
### 评测用例规模与约定
对于 $30$% 的评测用例,$2 \leq n \leq 30$。
对于 $60$% 的评测用例,$2 \leq n \leq 1000$。
对于所有评测用例,$2 \leq n \leq 100000$。