转圈游戏
时间限制:1秒 内存限制:256M
【问题描述】
\(n\) 个小伙伴(编号从 \(0\) 到 \(n-1\))围坐一圈玩游戏。按照顺时针方向给 \(n\) 个位置编号,从\(0\) 到 \(n-1\)。最初,第 \(0\) 号小伙伴在第 \(0\) 号位置,第 \(1\) 号小伙伴在第 \(1\) 号位置,……,依此类推。
游戏规则如下:每一轮第 \(0\) 号位置上的小伙伴顺时针走到第 \(m\) 号位置,第 \(1\) 号位置小伙伴走到第 \(m+1\) 号位置,……,依此类推,第 \(n−m\) 号位置上的小伙伴走到第 \(0\) 号位置,第 \(n-m+1\) 号位置上的小伙伴走到第 \(1\) 号位置,……,第 \(n-1\) 号位置上的小伙伴顺时针走到第 \(m-1\) 号位置。
现在,一共进行了 \(10^k\) 轮,请问 \(x\) 号小伙伴最后走到了第几号位置。
【输入格式】
共 \(1\) 行,包含 \(4\) 个整数 \(n、m、k、x\),每两个整数之间用一个空格隔开。
【输出格式】
共 \(1\) 行,包含 \(1\) 个整数,表示 \(10^k\) 轮后 \(x\) 号小伙伴所在的位置编号。
【输入输出样例1】
Input
10 3 4 5
Output
5
【数据限制】
对于 30% 的数据,\(0 < k < 7\)
对于 80% 的数据,\(0 < k < 10^7\)
对于 100% 的数据,\(1 < n < 10^9 , 0 < m < n , 0 ≤ x < n , 0 < k < 10^9\)