#joi2010yob. [joi2010yo_b]すごろく

[joi2010yo_b]すごろく

问题

JOI先生正在玩一款单人棋盘游戏。这个棋盘上有 NN 个格子,沿直线排列,每个格子上都写着移动的指示。起点是第一个格子,终点是第 NN 个格子。JOI先生要重复以下步骤直到到达终点:

掷骰子,前进掷骰子的点数,然后按照所到达的格子上的指示移动。但不要按照移动后所到达的格子上的指示再次移动。

无论是刚好到达第 NN 个格子,还是移动后超过了第 NN 个格子,都算作到达终点。

给定棋盘和 MM 次掷骰子的结果,请编写一个程序来输出在什么时候可以到达终点。


输入

输入包含 1+N+M1 + N + M 行。

11 行包含 22 个整数 N,MN,M (2N1,0002 \leqq N \leqq 1,0001M1,0001 \leqq M \leqq 1,000) 以空格分隔。NN 表示棋盘上格子的数量,MM 表示掷骰子的次数。

接下来的 NN 行中,每行包含一个范围在 999-999999999 之间的整数。第 1+i1+i 行 (1iN1 \leqq i \leqq N) 的整数表示第 ii 个格子上的指示。设为 XX。当 X=0X = 0 时表示“不动”,当 X>0X > 0 时表示“前进 XX 格”,当 X<0X < 0 时表示“后退 X|X| 格”。其中,X|X| 表示 XX 的绝对值。

接下来的 MM 行中,每行包含一个范围在 1166 之间的整数。第 1+N+j1 + N + j 行 (1jM1 \leqq j \leqq M) 的数表示第 jj 次掷骰子的结果。

注意,第 22 行和第 1+N1 + N 行的数都为 00。且棋盘上不存在让玩家移动到起点之前的格子。无论是哪组输入数据,掷骰子的次数都不会超过 MM 且可以到达终点。

输出

输出一个整数,表示在什么时候可以到达终点,即掷骰子的次数。


输入示例 1

10 5
0
0
5
6
-3
8
1
8
-4
0
1
3
5
1
5

输出示例 1

5

2010-yo-t2-fig01.png

输入示例 2

10 10
0
-1
-1
4
4
-5
0
1
-6
0
1
5
2
4
6
5
5
4
1
6

输出示例 2

6

2010-yo-t2-fig02.png