编程题
### 问题描述
小齐有一个大小为 $N$ 的数组 $A$,其中对于所有 $i$,都有 $1 \leq A[i] \leq N$。他无限次地重复以下过程:
- 构建一个新数组 $B$,使得 $B[i]=A[A[i]]$。
- 令数组 $A$ 等于数组 $B$。
请问最终小齐会得到多少个不同的数组 $A$?
### 输入格式
第一行包含一个整数 $N$。
第二行包含数组 $A$ 的元素。
### 输出格式
在第一行上以模 $10^9 + 7$ 的形式输出答案。
### 样例输入
```
4
2 3 1 4
```
### 样例输出
```
2
```
### 评测数据规模
$1 \leq N \leq 10^5$,$1 \leq A_i \leq N$。