#include <bits/stdc++.h>
using namespace std;
long long ans = 0;
vector<int> x;
int n, a;
int f(int b) {
  int ans = 1;
  for (int i = 0; i < b; i++) {
    ans *= 2;
  }
  return ans;
}
int g(int b) {
  int ans = 0;
  for (int i = 0; b > 0; i++) {
    if (b % 2 == 1) ans++;
    b /= 2;
  }
  return ans;
}
int h(int b, int k) {
  for (int i = 0; i < k; i++) {
    b /= 2;
  }
  return b % 2;
}
int main() {
  cin >> n >> a;
  x.resize(n);
  int ans = 0;
  for (int i = 0; i < n; i++) {
    cin >> x[i];
  }
  sort(x.begin(), x.end());
  if (n > 16) {
    cout << "-1" << endl;
    return 0;
  }
  int n2 = f(n);
  for (int i = 1; i < n2; i++) {
    int a2 = g(i) * a;
    int Sum = 0;
    for (int j = 0; j < n; j++) {
      if (h(i, j) == 1) Sum += x[j];
    }
    if (Sum == a2) {
      ans++;
    }
  }
  cout << ans << endl;
  return 0;
}
