#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
bool vst[N];
int main() {
  int n;
  int x;
  cin >> n >> x;
  set<int> s1, s2;
  vector<int> v;
  int res = INT_MAX;
  for (int i = int(0); i < int(n); i++) {
    int k;
    cin >> k;
    v.push_back(k);
  }
  sort(v.begin(), v.end());
  for (int i = int(0); i < int(n); i++) {
    if (s1.count(v[i] & x)) res = min(res, 2);
    if (s2.count(v[i] & x)) res = min(res, 1);
    s1.insert(v[i] & x);
    s2.insert(v[i]);
    if (!vst[v[i]])
      vst[v[i]] = true;
    else {
      cout << "0" << endl;
      return 0;
    }
  }
  if (res == INT_MAX)
    cout << "-1" << endl;
  else
    cout << res << endl;
  return 0;
}
