#include <bits/stdc++.h>
using namespace std;
int n;
const int maxn = 55;
int a[maxn];
int A;
int dp[maxn * maxn * 2];
int main() {
  cin >> n >> A;
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    a[i] -= A;
  }
  memset(dp, 0, sizeof(dp));
  for (int i = 0; i < (1 << (n / 2)); i++) {
    int sum = 0;
    for (int j = 0; j < n / 2; j++) {
      if (i & (1 << j)) {
        sum += a[j];
      }
    }
    dp[sum + maxn * maxn]++;
  }
  int k = (n + 1) / 2;
  long long ans = 0;
  for (int i = 0; i < (1 << k); i++) {
    int sum = 0;
    for (int j = 0; j < k; j++) {
      if (i & (1 << j)) {
        sum += a[j + n - k];
      }
    }
    ans += dp[maxn * maxn - sum];
  }
  cout << ans - 1 << endl;
  return 0;
}
