Snakes&Snakes
문제
У Вадима есть одномерная доска для игры в Snakes&Snakes, состоящая из клеток, которые пронумерованы от до слева направо. Изначально в клетке стоит фишка. Цель игры --- попасть в клетку . Каждой клетке (кроме клеток и ) соответствует некоторое целое неотрицательное число . Если , то -я клетка пустая. В противном случае в клетке стоит телепорт, отправляющий фишку влево. Гарантируется, что клетки и пустые.
В Snakes&Snakes ход совершается по следующему алгоритму.
- Игрок бросает шестигранный кубик. Если ему выпало число , то он двигает фишку на клеток вправо, при этом фишка не может оказаться правее клетки . Другими словами, если фишка стояла в клетке , то она оказывается в клетке ;
- Если фишка оказалась в клетке , то игрок побеждает;
- Если фишка оказалась в -й клетке, которая не содержит телепорт (), то происходит переход к шагу . В противном случае фишка перемещается влево на клеток (в клетку с номером ), после чего повторяется шаг ;
- Если игрок на шаге выбросил на кубике , то он может повторить все действия алгоритма, начиная с шага , не прекращая текущий ход. В противном случае текущий ход игрока завершается.
Марго интересуется у Вадима, за какое минимальное количество ходов можно победить в этой игре (даже если это маловероятно). Помогите Вадиму ответить на данный вопрос.
입력
В первой строке дано число --- размер доски.
Во второй строке даны числа --- описание доски.
출력
Выведите одно число --- минимальное число ходов, необходимое для победы. Если добраться до клетки нельзя, то выведите .
예제
예제 1
10 0 1 1 1 1 1 1 0
-1
예제 2
10 1 2 1 2 0 1 1 1
1
예제 3
10 1 1 2 2 0 6 7 8
2