#bcu30a. [bcu30_a]すごろく

[bcu30_a]すごろく

问题

在Cybozu的员工中,太空行走变得流行起来。

员工玩的太空行走有N+1N+1个方格,每个方格都标有顺序的号码0,1,...N0,1,...N。开始的方格编号为00,终点的方格编号为NN

为了熟悉这个太空行走,你正在练习一个人移动棋子。在实际移动棋子之前,你决定在KK轮中确定每轮能移动的格数aia_i1iK1\leq i \leq K),并把棋子放在起始方格上。根据以下规则,你决定实际移动棋子。

ii轮(1iK1\leq i \leq K)的动作:

  • 如果棋子移动aia_i个方格后仍然没有到达终点,则棋子移动aia_i个方格。
  • 如果棋子刚好移动aia_i个方格能够到达终点,则棋子移动aia_i个方格到达终点,并结束游戏而不进行剩余的回合。
  • 如果棋子移动少于aia_i个方格就能够到达终点,则棋子以xx个方格的位置到达终点(xx是整数),然后返回移动aixa_i - x个方格。

给定NNKKaia_i,请计算最终游戏结束后(在完成KK轮或在中途到达终点并结束游戏时),棋子所处的方格编号。

约束条件

  • 1N1091 \leq N \leq 10^9
  • 1K10001 \leq K \leq 1000
  • 1aiN1 \leq a_i \leq N (1iK1 \leq i \leq K)

输入

输入以以下格式给出。

NN KK a1a_1 ... aKa_K

输出

输出棋子最终所处的方格编号。


示例 1

10 4
5 7 2 5

输出示例 1

10

棋子最初放在方格00中。

  • 11轮得到了55,所以棋子移动到了方格55
  • 22轮得到了77,所以棋子移动到了方格1010,然后可以再移动22个方格,所以移动到了方格88
  • 33轮得到了22,所以棋子移动到了方格1010,刚好到达了终点,游戏结束。

棋子最终停在方格1010上。


示例 2

10 4
5 7 3 5

输出示例 2

6

示例 3

20 7
12 5 5 15 2 10 20

输出示例 3

1