#1471. 跑动的狗

跑动的狗

题目描述

AAnn只编号为1,2,3,...,n1,n1, 2, 3, ..., n-1, n的狗狗。初始时,狗狗们按编号升序排列在位置上(位置从11nn)。它们正在玩一个交换游戏,游戏规则如下:

每秒进行一次交换操作。

当秒数为奇数时(第113355...秒),交换位置为 2i12i-12i2i 的狗狗(其中 1in21 \leq i \leq \lfloor \frac{n}{2} \rfloor)。

例如,当 n=5n=5 时,初始序列为 1,2,3,4,51, 2, 3, 4, 5,第11秒后(奇数秒),序列变为 2,1,4,3,52, 1, 4, 3, 5

当秒数为偶数时(第224466...秒),交换位置为 2i2i2i+12i+1 的狗狗(其中 1in121 \leq i \leq \lfloor \frac{n-1}{2} \rfloor)。

例如,当 n=5n=5 且当前序列为 2,1,4,3,52, 1, 4, 3, 5(第11秒后),第22秒(偶数秒)后,序列变为 2,4,1,5,32, 4, 1, 5, 3

AA想知道,经过k秒后,编号为q的狗狗位于哪个位置?

输入描述

输入包含多个测试用例。第一行是整数 tt1t1051 \leq t \leq 10^5),表示测试用例的数量。

每个测试用例占一行,包含三个整数 n,k,qn, k, q1n,k,q1091 \leq n, k, q \leq 10^9)。

输出描述

对每个测试用例,输出一个整数,表示经过k秒后,编号为q的狗狗所在的位置。

示例输入

3  
5 1 3  
5 2 3  
6 1 4  

示例输出

4  
5  
3  

示例解释

第一个测试用例:初始序列为 1,2,3,4,51, 2, 3, 4, 5。1秒后(奇数秒),交换位置121-2343-4,序列变为 2,1,4,3,52, 1, 4, 3, 5。编号为33的狗狗位于位置44

第二个测试用例:22 秒后(第22秒是偶数秒),在11秒后的序列 2,1,4,3,52, 1, 4, 3, 5 基础上,交换位置232-3454-5(注意 i(51)/2=2i \leq \lfloor (5-1)/2 \rfloor=2,即i=1i=1时交换232-3i=2i=2时交换454-5),序列变为 2,4,1,5,32, 4, 1, 5, 3。编号为33的狗狗位于位置5。

第三个测试用例:n=6n=6k=1k=1(奇数秒),交换位置1234561-2、3-4、5-6(因为 6/2=3\lfloor 6/2 \rfloor=3),初始序列 1,2,3,4,5,61,2,3,4,5,6 变为 2,1,4,3,6,52,1,4,3,6,5。编号为44的狗狗位于位置33

限制与约定

对于 40%40\%的样例,保证 1t10 1 \le t \le 10 n,k,qn, k, q1n,k,q1001 \leq n, k, q \leq 100)。

对于 100%100\%的样例,保证 1t105 1 \le t \le 10^5 n,k,qn, k, q1n,k,q1091 \leq n, k, q \leq 10^9

  • 时间限制: 1s1 s
  • 空间限制: 256MB256 MB