CF1775C Interesting Sequence
题目描述
Petya 和他的朋友,机器人 Petya++,喜欢解决有趣的数学问题。
有一天,Petya++ 想到了两个数字 $n$ 和 $x$,并在黑板上写下了如下等式:$n\ \&\ (n+1)\ \&\ \dots\ \&\ m = x$,其中 $\,\&\,$ 表示按位与运算。然后他让他的朋友 Petya 找出满足等式的最小 $m$($m \ge n$)。
不幸的是,Petya 无法在脑海中解决这个问题,于是决定借助计算机。他很快写了一个程序并找到了答案。
你能解决这个难题吗?

输入格式
每组测试包含多个测试用例。第一行包含测试用例数 $t$($1 \le t \le 2000$)。
接下来的每组测试用例包含一行,包含两个整数 $n$ 和 $x$($0 \le n, x \le 10^{18}$)。
输出格式
对于每个测试用例,输出满足等式的最小可能的 $m$。
如果不存在任何 $m$ 使得等式成立,则输出 $-1$。
可以证明,如果所需的 $m$ 存在,则 $m$ 不会超过 $5 \cdot 10^{18}$。
说明/提示
在第一个样例中,$10\ \&\ 11 = 10$,但 $10\ \&\ 11\ \&\ 12 = 8$,所以答案是 $12$。
在第二个样例中,$10 = 10$,所以答案是 $10$。
在第三个样例中,可以看出不存在所需的 $m$,因此应输出 $-1$。
由 ChatGPT 4.1 翻译