100651: [AtCoder]ABC065 B - Trained?
Description
Score : $200$ points
Problem Statement
Takahashi wants to gain muscle, and decides to work out at AtCoder Gym.
The exercise machine at the gym has $N$ buttons, and exactly one of the buttons is lighten up. These buttons are numbered $1$ through $N$. When Button $i$ is lighten up and you press it, the light is turned off, and then Button $a_i$ will be lighten up. It is possible that $i=a_i$. When Button $i$ is not lighten up, nothing will happen by pressing it.
Initially, Button $1$ is lighten up. Takahashi wants to quit pressing buttons when Button $2$ is lighten up.
Determine whether this is possible. If the answer is positive, find the minimum number of times he needs to press buttons.
Constraints
- $2 ≤ N ≤ 10^5$
- $1 ≤ a_i ≤ N$
Input
Input is given from Standard Input in the following format:
$N$ $a_1$ $a_2$ : $a_N$
Output
Print $-1$ if it is impossible to lighten up Button $2$. Otherwise, print the minimum number of times we need to press buttons in order to lighten up Button $2$.
Sample Input 1
3 3 1 2
Sample Output 1
2
Press Button $1$, then Button $3$.
Sample Input 2
4 3 4 1 2
Sample Output 2
-1
Pressing Button $1$ lightens up Button $3$, and vice versa, so Button $2$ will never be lighten up.
Sample Input 3
5 3 3 4 2 4
Sample Output 3
3