问题 4676 --一锐迷宫

4676: 一锐迷宫★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 30  解决: 16
[提交][状态][命题人:]

题目描述

有一天,一锐发现自己身处一个由(n+1)个房间组成的迷宫中,编号从1到(n+1)。

最初,一锐在第一个房间,要走出迷宫,他需要到达第n+1)个房间。

迷宫的组成方式如下:迷宫的每个房间都有两个单向门,比如第i个房间(1≤i≤n),可以使用第一个门从它移动到房间号为i+1)的房间,也可以使用第二个门从它移动到房间号pi的房间(1≤pi≤i)。

为了不迷路,一锐决定采取以下行动:

· 每当一锐进入某个房间时,他都会在天花板上画一个十字架。最初,小严严在1号房间的天花板上画了一个十字架。

· 让我们假设一锐现在走到第i号房间了,他在天花板上画一个十字架。然后,如果天花板现在包含奇数个十字架,一锐使用第二个门(它通向房间pi),否则一锐将使用第一个门。

帮助一锐确定他需要使用单向门的次数,使得他能够到达房间号为n+1)的房间。

输入

第一行包含整数n (1 ≤ n ≤ 103 — 房间数。第二行包含n个整数pi1≤pi≤i)。每个pi表示某人在第i个房间使用第二个门可以到达的房间号。

输出

打印一个数字 - 一锐走出迷宫所需经过的门的数量。由于数字可能相当大,因此请将其打印为模1000000007 (109+ 7)。

样例输入
Copy
2
1 2
样例输出
Copy
4

提示

样例2输入

4
1 1 2 3

样例2输出

20

样例3输入

5
1 1 1 1 1

样例3输出

62

来源

[提交][状态]