C. Serval and The Formula
bitmasks; constructive algorithms; dp; greedy
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.
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.
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.
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) > 0\) holds for every \(k \ge 0\), implying that such an integer \(k\) does not exist.