600130 - 与和查找
给定一个长度n的序列a_i和一个数x,每一步可以将序列中的一个数与上x(即a[i]=a[i] & x),求最少需要几步能使得序列中出现两个相等的数。
Input
第一行,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。
Output
一个整数表示步数,若无论多少步都不能产生两个相等的数输出-1。
Examples
Input
4 3 1 2 3 7
Output
1
Input
2 228 1 1
Output
0
Input
3 7 1 2 3
Output
-1
Hint
二进制与只会保留均为1的位。