Codeforces Round 500 (Div. 2) [based on EJOI]
B
And
Codeforces
1200
原题
← AC →
翻译中…

There is an array with $*n*$ elements $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ and the number $*x*$.

翻译中…

In one operation you can select some $*i*$ ($1 ≤ *i* ≤ *n*$) and replace element $*a*_{*i*}$ with $*a*_{*i*} & *x*$, where $&$ denotes the bitwise and operation.

翻译中…

You want the array to have at least two equal elements after applying some operations (possibly, none). In other words, there should be at least two distinct indices $*i* ≠ *j*$ such that $*a*_{*i*} = *a*_{*j*}$. Determine whether it is possible to achieve and, if possible, the minimal number of operations to apply.

翻译中…

Input

翻译中…

The first line contains integers $*n*$ and $*x*$ ($2 ≤ *n* ≤ 100 000$, $1 ≤ *x* ≤ 100 000$), number of elements in the array and the number to and with.

翻译中…

The second line contains $*n*$ integers $*a*_{*i*}$ ($1 ≤ *a*_{*i*} ≤ 100 000$), the elements of the array.

翻译中…

Output

翻译中…

Print a single integer denoting the minimal number of operations to do, or -1, if it is impossible.

翻译中…

Note

翻译中…

In the first example one can apply the operation to the last element of the array. That replaces 7 with 3, so we achieve the goal in one move.

翻译中…

In the second example the array already has two equal elements.

翻译中…

In the third example applying the operation won't change the array at all, so it is impossible to make some pair of elements equal.

翻译中…

样例

Input #1
4 3
1 2 3 7
Output #1
1
InputCopy OutputCopy
Input #2
2 228
1 1
Output #2
0
InputCopy OutputCopy
Input #3
3 7
1 2 3
Output #3
-1
InputCopy OutputCopy
题目信息
题号
1013B
时间限制
1 s
内存限制
256 MB
标签
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。