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.