Олимпиадный тренинг

Задача . B. MEXor массива


Алиса вручила Бобу два целых числа \(a\) и \(b\) (\(a > 0\) и \(b \ge 0\)). Будучи крайне любознательным, Боб выписал массив из неотрицательных целых чисел с \(\operatorname{MEX}\) всех элементов, равным \(a\), и \(\operatorname{XOR}\) всех элементов, равным \(b\).

Чему равна наименьшая возможная длина массива, выписанного Бобом?

Напомним, что \(\operatorname{MEX}\) (Minimum EXcluded) массива — это наименьшее неотрицательное целое число, которого нет в данном массиве, а \(\operatorname{XOR}\) массива — это побитовое исключающее ИЛИ всех элементов данного массива.

Входные данные

Во входных данных находятся несколько наборов входных данных. В первой строке задано одно целое число \(t\) (\(1 \leq t \leq 5 \cdot 10^4\)) — количество наборов входных данных. Далее следуют сами наборы.

В единственной строке каждого набора задано два целых числа \(a\) и \(b\) (\(1 \leq a \leq 3 \cdot 10^5\); \(0 \leq b \leq 3 \cdot 10^5\)) — \(\operatorname{MEX}\) и \(\operatorname{XOR}\) массива, соответственно.

Выходные данные

Для каждого набора данных, выведите одно (положительное) целое число — длину наикратчайшего возможного массива с \(\operatorname{MEX}\) \(a\) и \(\operatorname{XOR}\) \(b\). Можно показать, что данный массив всегда существует.

Примечание

В первом наборе входных данных один из кратчайших массивов с \(\operatorname{MEX}\) \(1\) и \(\operatorname{XOR}\) \(1\) равен \([0, 2020, 2021]\).

Во втором наборе один из кратчайших массивов с \(\operatorname{MEX}\) \(2\) и \(\operatorname{XOR}\) \(1\) равен \([0, 1]\).

Можно показать, что данные массивы имеют наименьшую возможную длину.


Примеры
Входные данныеВыходные данные
1 5
1 1
2 1
2 0
1 10000
2 10000
3
2
3
2
3

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя