#16221. 小精灵

    ID: 16221 Type: Default 1000ms 128MiB Tried: 80 Accepted: 23 Difficulty: 6 Uploaded By: Tags>NOIP全国联赛提高组-2013年NOIP全国联赛提高组

小精灵

小精灵

说明

在一个神奇的转盘上,n个小精灵(编号从0到n-1)正在进行一场有趣的移动游戏。转盘上的位置也按照顺时针方向从0到n-1进行编号。最初,第0号小精灵站在第0号位置,第1号小精灵在第1号位置,依此类推。

游戏规则如下:每一轮中,第0号位置上的小精灵顺时针移动到第m号位置,第1号位置的小精灵移动到第m+1号位置,依此类推,第n−m号位置上的小精灵移动到第0号位置,第n-m+1号位置上的小精灵移动到第1号位置,直到第n-1号位置的小精灵顺时针移动到第m-1号位置。

现在,这个游戏已经进行了 10k10^k 轮,你需要计算出编号为x的小精灵最终位于哪个位置。


输入格式

每组输入数据仅包含一行,包含四个整数 n,m,k,xn, m, k, x,每两个整数之间用一个空格隔开。


数据规模

  • 对于30%的数据,0<k<70 < k < 7
  • 对于80%的数据,0<k<1070 < k < 10^7
  • 对于100%的数据,1<n<1,000,0001 < n < 1,000,0000<m<n0 < m < n0x<n0 \leq x < n0<k<1090 < k < 10^9

输出格式

每组输出包含一行,表示经过 10k10^k 轮后,编号为x的小精灵所在的位置编号。


样例

输入

10 3 4 5

输出

5