#agc061a. [agc061_a]Long Shuffle

[agc061_a]Long Shuffle

問題文

配列 A1,ldots,ANA_1, \\ldots, A_N があり、はじめ全ての ii について Ai=iA_i = i です。手順 mathrmshuffle(L,R)\\mathrm{shuffle}(L, R) を以下として定義します。

  • R=L+1R = L + 1 なら、ALA_LARA_R の値を入れ替えて終了する。
  • そうでないなら、mathrmshuffle(L,R1)\\mathrm{shuffle}(L, R - 1) を実行してから mathrmshuffle(L+1,R)\\mathrm{shuffle}(L + 1, R) を実行する。

mathrmshuffle(1,N)\\mathrm{shuffle}(1, N) を行うとします。手順終了後の AKA_K の値を出力してください。

各入力ファイルについて、テストケースを TT 個解いてください。

制約

  • 1leqTleq10001 \\leq T \\leq 1000
  • 2leqNleq10182 \\leq N \\leq 10^{18}
  • 1leqKleqN1 \\leq K \\leq N

入力

入力は、標準入力から以下の形式で与えられる。

TT case1case_1 case2case_2 vdots\\vdots caseTcase_T

各ケースは、以下の形式である。

NN KK

出力

TT 行出力せよ。ii 行目に、ii 個目のテストケースの答えを出力すること。


入力例 1

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

出力例 1

2
1
2
4
1
5
3

N=2N=2 のときは、以下を行って A=(2,1)A=(2,1) を得ます。

  • mathrmshuffle(1,2)\\mathrm{shuffle}(1, 2) を実行し、A1A_1A2A_2 を入れ替える。

N=5N=5 のときは、以下を行って A=(2,4,1,5,3)A=(2,4,1,5,3) を得ます。

  • mathrmshuffle(1,5)\\mathrm{shuffle}(1, 5) を実行する。
    • mathrmshuffle(1,4)\\mathrm{shuffle}(1, 4) を実行する。
      • mathrmshuffle(1,3)\\mathrm{shuffle}(1, 3) を実行する。
        • vdots\\vdots
      • mathrmshuffle(2,4)\\mathrm{shuffle}(2, 4) を実行する。
        • vdots\\vdots
    • mathrmshuffle(2,5)\\mathrm{shuffle}(2, 5) を実行する。
      • mathrmshuffle(2,4)\\mathrm{shuffle}(2, 4) を実行する。
        • vdots\\vdots
      • mathrmshuffle(3,5)\\mathrm{shuffle}(3, 5) を実行する。
        • vdots\\vdots