#1328. 洗牌

洗牌

描述

小明把nn(nn为偶数)张牌按编号顺序1,2,3,...,n1, 2, 3, ..., n排成一堆,然后开始洗牌。一次洗牌的过程如下: 1.对于一堆牌编号为a1,a2,...,ana_1, a_2, ..., a_n,首先将牌分成均匀的两堆: a1,a2,...,ama_1, a_2, ..., a_maam+1m+1,aam+2m+2,......,ana_n(其中m=n/2m=n/2) 2.然后按顺序交叉插入: a1a_1,aam+1m+1,a2a_2,aam+2m+2,......,ama_m,ana_n 洗牌过程总共重复了kk次,请你编程帮助小明模拟洗牌的过程。 例如n=6n = 6,初始时牌堆中牌的编号为1,2,3,4,5,61, 2, 3, 4, 5, 6。 首次洗牌时,会将牌分成1,2,31, 2, 34,5,64, 5, 6两堆,交叉插入后的结果为1,4,2,5,3,61, 4, 2, 5, 3, 6。 再次洗牌,会将牌分成1,4,21, 4, 25,3,65, 3, 6两堆。交叉插入后得到1,5,4,3,2,61, 5, 4, 3, 2, 6

输入

正整数nn(牌的数量),kk(洗牌的次数),xx(牌的位置)。1n,k1,0001 ≤ n, k ≤ 1,0001xn1 ≤ x ≤ n, 保证nn是偶数。

输出

nn张牌洗牌kk次后,牌堆中第xx张牌的编号。

样例

6 2 5
2
400 300 200
368