#include <bits/stdc++.h>
using namespace std;
void ans(int x) {
  cout << x << endl;
  exit(0);
}
const int MAXP = 2000 * 1000;
bool p[MAXP];
int main() {
  ios::sync_with_stdio(false);
  fill(p, p + MAXP, true);
  for (int i = 2; i * i < MAXP; i++)
    if (p[i])
      for (int j = i + i; j < MAXP; j += i) p[j] = false;
  int n, x;
  set<int> a;
  cin >> n >> x;
  for (register int i = (0); i < (int)(n); ++i) {
    int q;
    cin >> q;
    a.insert(q);
  }
  if (x == 2) ans(0);
  if (a.find(1) != a.end() && x > 2) ans(1);
  if (x >= MAXP) ans(-1);
  int tot = 0;
  for (register int i = (2); i < (int)(min(MAXP, x)); ++i)
    if (p[i]) {
      if (a.find(i) == a.end()) ans(-1);
      tot++;
    }
  ans(tot);
  return 0;
}
