C. Serval and The Formula
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

You are given two positive integers $$$x$$$ and $$$y$$$ ($$$1\le x, y\le 10^9$$$).

Find a non-negative integer $$$k\le 10^{18}$$$, such that $$$(x+k) + (y+k) = (x+k)\oplus (y+k)$$$ holds$$$^{\text{∗}}$$$, or determine that such an integer does not exist.

$$$^{\text{∗}}$$$$$$\oplus$$$ denotes the bitwise XOR operation.

Input

Each test contains multiple test cases. The first line contains the number of test cases $$$t$$$ ($$$1 \le t \le 10^4$$$). The description of the test cases follows.

The only line of each test case contains two integers $$$x$$$ and $$$y$$$ ($$$1\le x, y\le 10^9$$$) — the given integers.

Output

For each test case, output a single integer $$$k$$$ ($$$0\le k\le 10^{18}$$$) — the integer you found. Print $$$-1$$$ if it is impossible to find such an integer.

If there are multiple answers, you may print any of them.

Example
Input
5
2 5
6 6
19 10
1024 4096
1198372 599188
Output
0
-1
1
1024
28
Note

In the first test case, since $$$(2 + 0) + (5 + 0) = (2 + 0) \oplus (5 + 0) = 7$$$, $$$k=0$$$ is a possible answer. Note that $$$k=4$$$ is also a possible answer because $$$(2 + 4) + (5 + 4) = (2 + 4) \oplus (5 + 4) = 15$$$.

In the second test case, $$$(x+k)\oplus (y+k) = (6+k)\oplus (6+k) = 0$$$. However, $$$(x+k)+(y+k) \gt 0$$$ holds for every $$$k \ge 0$$$, implying that such an integer $$$k$$$ does not exist.