#abc065b. [abc065_b]Trained?

[abc065_b]Trained?

问题描述

Takahashi想增肌,决定在AtCoder Gym锻炼。

健身房里有NN个按钮,其中恰好有一个按钮亮着。这些按钮由11NN编号。当按下按钮ii时,亮灯会熄灭,并且按钮aia_i会亮起来。可能有i=aii=a_i的情况。如果按钮ii没亮着,按下它将不会发生任何事情。

初始状态下,按钮11是亮着的。当按钮22亮起来时,Takahashi想停止按按钮。

请确定是否可以实现这个目标。如果答案是肯定的,则找出需要按按钮的最小次数。

约束条件

  • 2N1052 \leq N \leq 10^5
  • 1aiN1 \leq a_i \leq N

输入

输入以以下格式从标准输入给出:

NN

a1a_1

a2a_2

:

aNa_N

输出

如果无法使按钮22亮起来,则输出1-1。否则,输出为了点亮按钮22所需的最小按键次数。


示例输入 1

3
3
1
2

示例输出 1

2

按下按钮11,然后按下按钮33


示例输入 2

4
3
4
1
2

示例输出 2

-1

按下按钮11会点亮按钮33,反之亦然,所以按钮22永远不会被点亮。


示例输入 3

5
3
3
4
2
4

示例输出 3

3