配点 : 500 点
問題文
配列 A1,…,AN があり、はじめ全ての i について Ai=i です。手順 shuffle(L,R) を以下として定義します。
- R=L+1 なら、AL と AR の値を入れ替えて終了する。
- そうでないなら、shuffle(L,R−1) を実行してから shuffle(L+1,R) を実行する。
shuffle(1,N) を行うとします。手順終了後の AK の値を出力してください。
各入力ファイルについて、テストケースを T 個解いてください。
制約
- 1≤T≤1000
- 2≤N≤1018
- 1≤K≤N
入力
入力は、標準入力から以下の形式で与えられる。
T
case1
case2
⋮
caseT
各ケースは、以下の形式である。
N K
出力
T 行出力せよ。i 行目に、i 個目のテストケースの答えを出力すること。
7
2 1
2 2
5 1
5 2
5 3
5 4
5 5
2
1
2
4
1
5
3
N=2 のときは、以下を行って A=(2,1) を得ます。
- shuffle(1,2) を実行し、A1 と A2 を入れ替える。
N=5 のときは、以下を行って A=(2,4,1,5,3) を得ます。
- shuffle(1,5) を実行する。- shuffle(1,4) を実行する。- shuffle(1,3) を実行する。- ⋮
- shuffle(2,4) を実行する。- ⋮
- shuffle(2,5) を実行する。- shuffle(2,4) を実行する。- ⋮
- shuffle(3,5) を実行する。- ⋮
- shuffle(1,4) を実行する。
- shuffle(1,3) を実行する。
- ⋮
- shuffle(2,4) を実行する。
- ⋮
- shuffle(2,5) を実行する。
- shuffle(2,4) を実行する。
- ⋮
- shuffle(3,5) を実行する。
- ⋮