D. Dr. Evil Underscores
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня Бакри в качестве дружеского подарка вручил Бадави $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ и дал ему задачку выбрать такой $$$X$$$, что $$$\underset{1 \leq i \leq n}{\max} (a_i \oplus X)$$$ принимает минимальное возможное значение, где $$$\oplus$$$ обозначает операцию побитового исключающего ИЛИ.

Бадави, как обычно, ленится, поэтому вы решили помочь ему и найти минимальное возможное значение $$$\underset{1 \leq i \leq n}{\max} (a_i \oplus X)$$$.

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

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

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

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

Выведите одно целое число — минимальное возможное значение $$$\underset{1 \leq i \leq n}{\max} (a_i \oplus X)$$$.

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

В первом примере можно выбрать $$$X = 3$$$.

Во втором примере можно выбрать $$$X = 5$$$.