100 atcoder#ABC065B. [ABC065B] Trained?

[ABC065B] Trained?

配点 : 200200

問題文

筋力をつけたい高橋君は、AtCoder 社のトレーニング設備で、トレーニングをすることにしました。

AtCoder 社のトレーニング設備には NN 個のボタンがついており、ちょうど 11 個のボタンが光っています。 ボタンには、11 から NN までの番号がついています。 ボタン ii が光っているときにそのボタンを押すと、ボタン ii の明かりが消え、その後ボタン aia_i が光ります。i=aii=a_i であることもあります。 光っていないボタンを押しても、何も起こりません。

最初、ボタン 11 が光っています。高橋君は、ボタン 22 が光っている状態で、トレーニングをやめたいと思っています。

そのようなことは可能かどうか判定し、もし可能なら最低で何回ボタンを押す必要があるかを求めてください。

制約

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

入力

入力は以下の形式で標準入力から与えられる。

NN

a1a_1

a2a_2

:

aNa_N

出力

ボタン 22 を光らせることが不可能な場合、1-1 を出力せよ。 そうでない場合、ボタン 22 を光らせるために必要なボタンを押す回数の最小値を出力せよ。

3
3
1
2
2

ボタン 1,31,3 の順に押せばよいです。

4
3
4
1
2
-1

ボタン 11 を押すとボタン 33 、ボタン 33 を押すとボタン 11 が光るので、ボタン 22 が光ることはありません。

5
3
3
4
2
4
3