#4991. 循环移牌

循环移牌

循环移牌

  • 时间限制:1.0 s
  • 内存限制:512.0 MB

题目描述

小绿手里有 n 张牌,从上到下编号依次为 1,2,3,…,n1, 2, 3, \dots, n。他把这些牌从上到下依次放入一个 deque(队头在最上面)。

接下来小绿会执行 m 次操作,每次操作都做同一件事:

  • 把队头(最上面)的那张牌拿出来,放到队尾(最下面)。

请你告诉小绿,在完成 m 次操作之后,队头(最上面)的那张牌是几号。

输入格式

一行两个整数 n 和 m,用空格隔开。

输出格式

一行一个整数,表示 m 次操作后队头那张牌的编号。

输入样例

5 2

输出样例

3

提示

  • 模拟过程:初始 deque 为 1 2 3 4 5(队头是 1)。第 1 次操作后变成 2 3 4 5 1,第 2 次操作后变成 3 4 5 1 2,此时队头是 3。
  • 用 pop_front 取出队头牌,用 push_back 放回队尾,即模拟一次操作。
  • 注意:m 可能很大,直接循环 m 次会超时。想一想 m 和 n 的关系,最多需要实际循环多少次?(提示:操作 n 次后队列恢复原样)
  • 数据范围:1≤n≤1091 \le n \le 10^9,0≤m≤10180 \le m \le 10^{18}。

输入样例2

5 0

输出样例2

1