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

Задача . D. Dr. Evil Underscores


Сегодня Бакри в качестве дружеского подарка вручил Бадави \(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)\).

Примечание

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

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


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

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

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