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

Задача . A. Нам нужен ноль


Дан массив \(a\), состоящий из целых неотрицательных чисел. Вы можете выбрать целое число \(x\) и обозначить \(b_i=a_i \oplus x\) для всех \(1 \le i \le n\), где \(\oplus\) обозначает операцию побитового исключающего ИЛИ. Можно ли выбрать такое число \(x\), что значение выражения \(b_1 \oplus b_2 \oplus \ldots \oplus b_n\) будет равняться \(0\)?

Можно показать, что если искомый \(x\) существует, то существует и такой подходящий \(x\) такой, что (\(0 \le x < 2^8\)).

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

В первой строке дано число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка набора содержит одно целое число \(n\) (\(1 \le n \le 10^3\)) — длину массива \(a\).

Вторая строка набора содержит \(n\) целых чисел — массив \(a\) (\(0 \le a_i < 2^8\)).

Гарантируется, что сумма \(n\) по всем наборам входных данных не превосходит \(10^3\).

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

Для каждого набора входных данных выведите искомое целое число \(x\) (\(0 \le x < 2^8\)), если оно существует, или \(-1\) иначе.

Примечание

В первом наборе входных данных после применения операции с числом \(6\) массив \(b\) становится равен \([7, 4, 3]\), \(7 \oplus 4 \oplus 3 = 0\).

В третьем наборе есть и другие ответы, например, число \(0\).


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

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

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