CF1567B MEXor Mixup
Description
Alice gave Bob two integers $ a $ and $ b $ ( $ a > 0 $ and $ b \ge 0 $ ). Being a curious boy, Bob wrote down an array of non-negative integers with $ \operatorname{MEX} $ value of all elements equal to $ a $ and $ \operatorname{XOR} $ value of all elements equal to $ b $ .
What is the shortest possible length of the array Bob wrote?
Recall that the $ \operatorname{MEX} $ (Minimum EXcluded) of an array is the minimum non-negative integer that does not belong to the array and the $ \operatorname{XOR} $ of an array is the [bitwise XOR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR) of all the elements of the array.
Input Format
The input consists of multiple test cases. The first line contains an integer $ t $ ( $ 1 \leq t \leq 5 \cdot 10^4 $ ) — the number of test cases. The description of the test cases follows.
The only line of each test case contains two integers $ a $ and $ b $ ( $ 1 \leq a \leq 3 \cdot 10^5 $ ; $ 0 \leq b \leq 3 \cdot 10^5 $ ) — the $ \operatorname{MEX} $ and $ \operatorname{XOR} $ of the array, respectively.
Output Format
For each test case, output one (positive) integer — the length of the shortest array with $ \operatorname{MEX} $ $ a $ and $ \operatorname{XOR} $ $ b $ . We can show that such an array always exists.
Explanation/Hint
In the first test case, one of the shortest arrays with $ \operatorname{MEX} $ $ 1 $ and $ \operatorname{XOR} $ $ 1 $ is $ [0, 2020, 2021] $ .
In the second test case, one of the shortest arrays with $ \operatorname{MEX} $ $ 2 $ and $ \operatorname{XOR} $ $ 1 $ is $ [0, 1] $ .
It can be shown that these arrays are the shortest arrays possible.