F. Сделай их похожими
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
1024 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Назовем два числа похожими, если в их двоичных представлениях одинаковое количество цифр равно $$$1$$$. Например:

  • $$$2$$$ и $$$4$$$ похожи (двоичные представления — $$$10$$$ и $$$100$$$);
  • $$$1337$$$ и $$$4213$$$ похожи (двоичные представления — $$$10100111001$$$ и $$$1000001110101$$$);
  • $$$3$$$ и $$$2$$$ не похожи (двоичные представления — $$$11$$$ и $$$10$$$);
  • $$$42$$$ и $$$13$$$ похожи (двоичные представления — $$$101010$$$ и $$$1101$$$).

Вам задан массив из $$$n$$$ целых чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$. Вы должны выбрать неотрицательное целое число $$$x$$$, после чего вы получите новый массив из $$$n$$$ чисел $$$b_1$$$, $$$b_2$$$, ..., $$$b_n$$$, где $$$b_i = a_i \oplus x$$$ ($$$\oplus$$$ обозначает операцию побитового исключающего ИЛИ).

Можно ли получить такой массив $$$b$$$, в котором все числа похожи друг на друга?

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

В первой строке задано одно целое число $$$n$$$ ($$$2 \le n \le 100$$$).

Во второй строке заданы $$$n$$$ целых чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$ ($$$0 \le a_i \le 2^{30} - 1$$$).

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

Если нельзя выбрать такой $$$x$$$, что все элементы в полученном массиве будут похожи друг на друга, выведите $$$-1$$$.

Иначе выведите любое неотрицательное целое число, не превосходящее $$$2^{30} - 1$$$, которое можно использовать как $$$x$$$ таким образом, что все числа в полученном массиве будут похожи друг на друга.

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