Problem2596--走迷宫

2596: 走迷宫

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

有一天,小瓦夏发现自己在一个迷宫里,迷宫由 (n + 1) 个房间组成,房间编号从 1 到 (n + 1)。起初,瓦夏在第一个房间,要走出迷宫,他需要到达 (n + 1) -第三个房间。

迷宫的结构如下。迷宫的每个房间都有两个单向入口。假设房间号为 i,(1 ≤ i ≤ n)。每个人可以通过第一个入口移动到 (i + 1) 号房间,每个人也可以通过第二个入口移动到 pi 号房间,其中 1 ≤ pi ≤ i 号房间。

为了不迷路,瓦夏决定采取以下行动。

瓦夏每次进入某个房间,都会在天花板上画一个十字。最初,瓦夏在 1 房间的天花板上画了一个十字。

假设瓦夏现在在 i 房间,并且已经在天花板上画了一个十字。那么,如果天花板上的十字架数目是奇数,瓦夏就会使用第二个传送门(它通向 pi 房间),否则瓦夏就会使用第一个传送门。

帮助瓦夏确定最终到达 (n + 1) 房间所需的传送门次数。

Input

第一行包含整数 n (1 ≤ n ≤ 103) -房间数。

第二行包含 n 个整数 pi (1 ≤ pi ≤ i)。每个 pi 表示一个人在使用 i -房间中的第二个入口时可以到达的房间数量。

Output

打印一个数字--男孩走出迷宫所需的传送门移动次数。由于数字可能比较大,因此打印它的模数为 1000000007 (109 + 7)。 (109 + 7)。

Sample Input Copy

4
1 1 2 3

Sample Output Copy

20

Source/Category

admin