#include <bits/stdc++.h>
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
using namespace std;
int geta = 2525;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  vector<long long> dp(geta * 2, 0);
  int n, a;
  cin >> n >> a;
  dp[geta] = 1;
  for (int i = 0; i < (int)(n); i++) {
    int x;
    cin >> x;
    x -= a;
    if (x < 0) {
      for (int j = int(x + geta); j < int(geta * 2); j++) {
        dp[j + x] += dp[j];
      }
    } else {
      for (int j = geta * 2 - x - 1; j >= 0; j--) dp[j + x] += dp[j];
    }
  }
  cout << dp[geta] - 1 << endl;
  return 0;
}
