600130 - 与和查找

时间限制

1000 毫秒

内存限制

128 MB

通过次数

11

提交次数

24

给定一个长度n的序列a_i和一个数x,每一步可以将序列中的一个数与上x(即a[i]=a[i] & x),求最少需要几步能使得序列中出现两个相等的数。

输入

第一行,n,x

第二行,n个整数a_i

对于100%的数据:

2 \le n \le 10^5

1 \le x \le 10^5

1 \le a_i \le 10^6

输出

一个整数表示步数,若无论多少步都不能产生两个相等的数输出-1。

样例

输入

4 3
1 2 3 7

输出

1

输入

2 228
1 1

输出

0

输入

3 7
1 2 3

输出

-1

提示

二进制与只会保留均为1的位。