编程题
### 问题描述
乐乐在玩一个迷宫转换游戏,游戏中有一个由 $N$ 个房间组成的迷宫,每个房间有一个通道指向另一个房间,即每个房间有一个编号 $A[i]$,$1 \leq A[i] \leq N$。乐乐在每一轮中根据通道指示创建一个新的迷宫,新迷宫的第 $i$ 个房间将指向原迷宫的 $A[A[i]]$ 房间。乐乐将无限次进行这个过程。她想知道,可以得到多少种不同的迷宫配置。
给出迷宫房间数量 $N$ 和初始迷宫配置,求出不同迷宫配置的数量,结果对 $10^9 + 7$ 取模。
### 输入格式
第一行包含一个整数 $N$,表示迷宫房间的数量。
第二行包含 $N$ 个整数,表示初始迷宫中每个房间的通道指向。
### 输出格式
打印一个整数,表示不同迷宫配置的数量模 $10^9 + 7$ 的结果。
### 样例输入
```
4
2 3 1 4
```
### 样例输出
```
2
```
### 评测数据规模
- $1 \leq N \leq 10^5$
- $1 \leq A[i] \leq N$