#Lutece3359. 约瑟夫问题

约瑟夫问题

Description

传统的约瑟夫问题为:nn 个人围成一圈,顺时针依次编号为 1,2,,n1,2,\ldots,n。从编号为 11 的人开始顺时针从 11 开始报数,每报到 kk 时这个人就出局,之后他的下一个人又从 11 开始报数,最后询问剩下的那个人的编号。

而在本题中,每一轮的 kk 都不完全相同。游戏一共进行 qq 轮,你需要输出每一轮出局的人的编号。

Input

第一行两个正整数 n,q (1q<n5×105)n,q\ (1\le q < n \le 5\times 10^5)

接下来 qq 行,每行输入一个正整数 k (2k109)k\ (2\le k \le 10^9),表示这一轮报到 kk 的人出局。下一轮由出局的顺时针方向的下一个人开始报数。

Output

输出 qq 行,第 ii 行一个正整数,表示该轮出局的人的编号。

Samples

7 3
5
9
8
5
1
4

Note

样例如图所示,箭头表示报数顺序:

第一轮,从编号为 1 的人开始报数,报到 5 时编号为 5 的人出局,下一轮由编号为 6 的人开始报数;
第二轮,从编号为 6 的人开始报数,报到 9 时编号为 1 的人出局,下一轮由编号为 2 的人开始报数;
第三轮,从编号为 2 的人开始报数,报到 8 时编号为 4 的人出局。

Resources

The 21st UESTC Programming Contest Preliminary