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 $ - 入力される値は全て整数