B. И
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

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

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

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

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

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

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

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

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

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

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

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