#ATagc061a. [AGC061A] Long Shuffle

[AGC061A] Long Shuffle

题目描述

有一个数组 A1, , ANA_1,\ \ldots,\ A_N,初始时对于所有 ii,都有 Ai=iA_i = i。定义操作 shuffle(L, R)\mathrm{shuffle}(L,\ R) 如下:

  • 如果 R=L+1R = L + 1,则交换 ALA_LARA_R 的值,然后结束操作。
  • 否则,先执行 shuffle(L, R1)\mathrm{shuffle}(L,\ R - 1),再执行 shuffle(L+1, R)\mathrm{shuffle}(L + 1,\ R)

现在要执行一次 shuffle(1, N)\mathrm{shuffle}(1,\ N)。请输出操作结束后 AKA_K 的值。

对于每个输入文件,需要解答 TT 个测试用例。

输入格式

输入从标准输入读入,格式如下:

TT
case1case_1
case2case_2
\vdots
caseTcase_T

每个测试用例格式如下:

N KN\ K

输出格式

输出共 TT 行。第 ii 行输出第 ii 个测试用例的答案。

样例 1

输入

7
2 1
2 2
5 1
5 2
5 3
5 4
5 5

输出

2
1
2
4
1
5
3

说明/提示

数据范围

  • 1T10001 \leq T \leq 1000
  • 2N10182 \leq N \leq 10^{18}
  • 1KN1 \leq K \leq N

样例解释 1

N=2N=2 时,执行如下操作得到 A=(2,1)A=(2,1)

  • 执行 shuffle(1,2)\mathrm{shuffle}(1,2),交换 A1A_1A2A_2

N=5N=5 时,执行如下操作得到 A=(2,4,1,5,3)A=(2,4,1,5,3)

  • 执行 shuffle(1,5)\mathrm{shuffle}(1,5)
  • 执行 shuffle(1,4)\mathrm{shuffle}(1,4)
  • 执行 shuffle(1,3)\mathrm{shuffle}(1,3)
  • \vdots
  • 执行 shuffle(2,4)\mathrm{shuffle}(2,4)
  • \vdots
  • 执行 shuffle(2,5)\mathrm{shuffle}(2,5)
  • 执行 shuffle(2,4)\mathrm{shuffle}(2,4)
  • \vdots
  • 执行 shuffle(3,5)\mathrm{shuffle}(3,5)
  • \vdots

由 ChatGPT 4.1 翻译