AT_arc191_b [ARC191B] XOR = MOD
Description
正整数 $ N,K $ が与えられます。 以下の条件を満たす正整数 $ X $ を **$ N $ と相性の良い数** と呼びます。
- $ X $ と $ N $ の排他的論理和は、 $ X $ を $ N $ で割ったあまりと等しい。
$ N $ と相性の良い数が $ K $ 個以上存在するか判定し、存在する場合は $ N $ と相性の良い数のうち $ K $ 番目に小さい値を求めてください。
$ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。
排他的論理和とは 非負整数 $ A, B $ の排他的論理和、 $ A\ \mathrm{XOR}\ B $ は、以下のように定義されます。
- $ A\ \mathrm{XOR}\ B $ を二進表記した際の $ 2^k $ ( $ k \geq 0 $ ) の位の数は、 $ A, B $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $ 、そうでなければ $ 0 $ である。
例えば、 $ 3\ \mathrm{XOR}\ 5 = 6 $ となります (二進表記すると: $ 011\ \mathrm{XOR}\ 101 = 110 $ )。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $
ここで、 $ \text{case}_i $ は $ i $ 番目のテストケースを意味する。
各テストケースは以下の形式で与えられる。
> $ N $ $ K $
Output Format
それぞれのテストケースについて、 $ N $ と相性の良い数が $ K $ 個以上存在するならば $ K $ 番目に小さい値を、存在しないならば $ -1 $ を出力せよ。
Explanation/Hint
### Sample Explanation 1
$ N=2 $ の場合について考えます。
- $ X=1 $ のとき、 $ X $ と $ N $ の排他的論理和は $ 3 $ 、 $ X $ を $ N $ で割ったあまりは $ 1 $ です。したがって、 $ 1 $ は $ N $ と相性の良い数ではありません。
- $ X=2 $ のとき、 $ X $ と $ N $ の排他的論理和は $ 0 $ 、 $ X $ を $ N $ で割ったあまりは $ 0 $ です。したがって、 $ 2 $ は $ N $ と相性の良い数です。
- $ X=3 $ のとき、 $ X $ と $ N $ の排他的論理和は $ 1 $ 、 $ X $ を $ N $ で割ったあまりは $ 1 $ です。したがって、 $ 3 $ は $ N $ と相性の良い数です。
よって、 $ 2 $ と相性の良い数のうち $ 1 $ 番目に小さい正整数は $ 2 $ 、 $ 2 $ 番目に小さい正整数は $ 3 $ です。したがって、 $ \text{case}_1 $ の答えは $ 2 $ 、 $ \text{case}_2 $ の答えは $ 3 $ です。
### Constraints
- $ 1\le T\le 2\times 10^5 $
- $ 1\le N,K\le 10^9 $
- 入力される値は全て整数