AT_arc208_c [ARC208C] Mod of XOR

Description

$ 2^{30} $ 未満の正整数 $ C,X $ が与えられます。 以下の条件を全て満たす正整数 $ n $ が存在するか判定し、存在する場合は一つ求めてください。 - $ 1\le n < 2^{60} $ - $ (n \oplus C) \bmod n=X $ ただし、 $ n \oplus C $ は $ n $ と $ C $ のビット単位 $ \mathrm{XOR} $ を表します。 $ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。 ビット単位 $ \mathrm{XOR} $ 演算とは 非負整数 $ X,Y $ のビット単位 $ \mathrm{XOR} $ 、 $ X \oplus Y $ は、以下のように定義されます。 - $ X \oplus Y $ を二進表記した際の $ 2^k $ ( $ k \geq 0 $ ) の位の数は、 $ X,Y $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $ 、そうでなければ $ 0 $ である。 例えば、 $ 3 \oplus 5 = 6 $ となります (二進表記すると: $ 011 \oplus 101 = 110 $ )。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $ 各テストケースは以下の形式で与えられる。 > $ C $ $ X $

Output Format

各テストケースに対する答えを順に改行区切りで出力せよ。 各テストケースについて、条件を全て満たす $ n $ が存在しない場合は `-1` を出力せよ。 そうでない場合、条件を全て満たす $ n $ を出力せよ。 条件を全て満たす $ n $ が複数ある場合、どれを出力しても正答となる。

Explanation/Hint

### Sample Explanation 1 $ 1 $ つ目のテストケースについて考えます。 $ n=7 $ は $ (n\oplus C) \bmod n = (7 \oplus 10) \bmod 7 = 13\bmod 7 = 6=X $ より条件を全て満たすことが分かります。したがって、 $ 1 $ 行目には $ 7 $ を出力すると正答となります。 この他にも $ n=12,18,19 $ などを出力しても正答となります。 ### Constraints - $ 1\le T\le 2\times 10^5 $ - $ 1\le C,X < 2^{30} $ - 入力される値は全て整数