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

Задача . B. И


Есть массив a1, a2, ..., an и число x.

За одну операцию можно выбрать произвольный ai и заменить его на ai & x, где & означает побитовое "И" двух чисел.

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

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

Первая строка содержит числа n и x (2 ≤ n ≤ 100 000, 1 ≤ x ≤ 100 000) — число элементов в массиве и число, с которым можно делать побитовое "и".

Вторая строка содержит n чисел ai (1 ≤ ai ≤ 100 000) — элементы массива.

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

Выведите одно число — минимальное количество операций, которое нужно сделать, или -1, если добиться хотя бы двух совпадающих элементов невозможно.

Примечание

В первом примере можно применить операцию к последнему элементу массиву и получить требуемое за один ход.

Во втором примере массив уже содержит два совпадающих элемента.

В третьем примере применение операции никак не меняет массив, а значит получить хотя бы два совпадающих элемента невозможно.


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

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

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