#C3N. 圆盘指针

圆盘指针

题意:

圆盘上有 nn 个位置,沿顺时针方向依次编号为 0,1,…,n−10,1,\ldots,n-1。指针开始位于 pp。

接下来执行 qq 次移动。每次给出整数 dd:正数表示顺时针移动 dd 格,负数表示逆时针移动 −d-d 格,00 表示不移动。可以绕行多圈。

输出每次移动后的指针编号。

输入格式:

第一行三个整数 nn、qq、pp(1≤n,q≤2×1051 \le n, q \le 2 \times 10^5,0≤p<n0 \le p < n),分别表示位置数量、移动次数和起始位置。

第二行 qq 个整数 d1,d2,…,dqd_1,d_2,\ldots,d_q(−1018≤di≤1018-10^{18} \le d_i \le 10^{18}),表示每次移动的格数。

输出格式:

一行 qq 个整数,依次表示每次移动后的编号。

样例:

样例输入:

8 4 2
-3 10 -16 5

样例输出:

7 1 1 6

样例解释:

指针位置依次为 2→7→1→1→62\to7\to1\to1\to6。其中位移 −16-16 恰好逆时针绕行两圈,位置保持不变。