Codeforces Round 239 (Div. 1) |
---|
Закончено |
Однажды мальчик Вася оказался в лабиринте, состоящем из (n + 1) комнат, пронумерованных от 1 до (n + 1). Первоначально Вася находится в первой комнате, а чтобы выйти из лабиринта, нужно попасть в (n + 1)-ю.
Лабиринт устроен следующим образом. В каждой комнате лабиринта есть два односторонних портала. Рассмотрим комнату с номером i (1 ≤ i ≤ n), с помощью первого портала можно перейти из нее в комнату с номером (i + 1), с помощью второго можно перейти из нее в комнату с номером pi, где 1 ≤ pi ≤ i.
Чтобы не заблудиться Вася решил действовать следующим образом.
Помогите Васе определить, сколько раз ему придется воспользоваться порталами, чтобы попасть в комнату (n + 1) в конечном итоге.
В первой строке записано целое число n (1 ≤ n ≤ 103) — число комнат. Во второй строке записаны n целых чисел pi (1 ≤ pi ≤ i) — номера комнат, в которые можно попасть из i-й комнаты, если пользоваться вторым порталом.
Выведите одно число — количество перемещений, за которое мальчик выберется из лабиринта. Поскольку это число может быть достаточно большим, выведите его по модулю 1000000007 (109 + 7).
2
1 2
4
4
1 1 2 3
20
5
1 1 1 1 1
62
Название |
---|