C. Марсианская метеорология
ограничение по времени на тест
0.25 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Исследования других планет вызывали у Васи огромный интерес еще с детства. Повзрослев, он смог осуществить свою мечту и поучаствовать в запуске на Марс метеорологической станции. К сожалению, при сборке станции была допущена ошибка. К ещё большему сожалению, обнаружилось это уже после того, как станция начала работу на поверхности планеты.

Проблема заключается в данных от сверхчувствительного датчика температуры, способного получать показания с точностью до миллионных долей градуса. Васе поручили попытаться решить проблему.

Датчик снимает данные каждую секунду и отправляет на Землю показания в виде серий 32-х битных целых чисел. Серия состоит из $$$n$$$ последовательных измерений температуры $$$t_1, t_2, ..., t_n$$$.

Просмотрев видеозапись сборки спутника, Вася выяснил, что некоторые разъемы датчика были подключены задом наперед, в результате чего некоторые биты передаются в инвертированном ($$$0$$$ вместо $$$1$$$ и $$$1$$$ вместо $$$0$$$) виде, причём во всех измерениях это биты с одними и теми же номерами (нумерация битов традиционно начинается с самого младшего, имеющего номер $$$0$$$). По видео непонятно, какие именно биты передаются неправильно, однако Вася решил попробовать определить их по полученным данным.

В распоряжении у Васи имеется серия измерений, состоящая из $$$n$$$ полученных искаженных чисел $$$t_1, t_2, ..., t_n$$$. Из показаний других приборов известно, что в процессе измерения температура сначала росла, а затем падала. Вася хочет попробовать подобрать некоторое значение $$$k$$$, и наложить на элементы $$$t_i$$$ с помощью операции xor (побитового исключающего «ИЛИ»): $$$r_i = t_i \, xor \, k$$$. Полученная последовательность $$$r_1, r_2, ..., r_n$$$ должна вести себя как марсианская температура – сначала не убывать, а потом не возрастать, причём промежутки неубывания и невозрастания должны быть длины не менее 2 (сами промежутки могут пересекаться).

Напишите программу, которая поможет Васе подобрать число $$$k$$$.

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

Первая строка входных данных содержит количество измерений $$$n$$$ ($$$3 \leq n \leq 10\,000$$$). Вторая строка содержит искаженные измерения в виде целых чисел $$$t_i$$$ ($$$0 \leq t_i \leq 2\,147\,483\,647$$$), разделенных пробелами.

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

В единственной строке выведите целое число $$$k$$$ ($$$0 \leq k \leq 2\,147\,483\,647$$$). Гарантируется, что данные корректны, и хотя бы одно такое число существует.

Если задача имеет несколько решений, выведите любое из них.

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

Операция xor существует во всех современных языках программирования, например, в языках $$$C\!+\!+$$$, $$$Python$$$ и $$$Java$$$ она обозначена как «$$$ ^\wedge $$$», в $$$Pascal$$$ – как «xor». Пример применения операции «xor»: $$$10101_2 \oplus 10001_2 = 00100_2$$$.