Logo Daimayuan Online Judge

Home

时间限制:1 s 空间限制:1024 MB

#879. Owwwwwwwwwww...f

附加文件 统计

小A地盘上的所有人被从 $1$ 到 $n$ 编号,每个人都有自己传话的对象,第 $i$ 个人对第 $a_{i}$个人传话。 有一天,小A在宫殿的顶部大声喊着Owf,于是一个有趣的游戏在小A的地盘上开始了。

规则如下:

该游戏有许多轮,每个人都会开始一轮游戏。如果编号为 $x$ 的人想要开始一轮游戏,他会对第 $a_{x}$个人说"Oww...wwf"(有 $t$ 个w)。如果 $t > 1$,第 $a_{x}$个人就会对第 $a_{a_{x}}$个人说"Oww...wwf"(有 $t - 1$ 个w)。直到有人听到"Owf"($t = 1$),这个人就是这一轮的$Joon$。不存在同时进行两轮游戏的情况。 为了使游戏更有意思,小A有一个邪恶的计划。他想找到最小的 $t$($t \ge 1$)使得对于每个人 $x$ 当第 $x$ 个人开始的一局游戏使 $y$ 成为了 $Joon$ ,也使得由 $y$ 开始的一局游戏 $x$ 成为 $Joon$ 。请为小A找这个最小的 $t$。 注意:可能有的人传话对象是自己。

输入格式:

第一行输入一个 $n$ ($1\le n \le 150$),表示小A地盘上的人数。

第二行输入$a_1$,$a_2$,$a_3$,...$a_n$,第 $i$ 个数表示第 $i$ 个人传话的对象 $a_i$。

输出格式:

输出最小的 $t$,如果没有请输出 $-1$。

样例输入:

4
2 3 1 4

样例输出:

3