#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int N, A, X[50], dp[2][51][2501];
  cin >> N >> A;
  for (int i = (0); i < (N); i++) cin >> X[i];
  int idx = 0, _idx;
  memset(dp[idx], 0, sizeof(dp[idx]));
  dp[idx][0][0] = 1;
  for (int i = (0); i < (N); i++) {
    _idx = idx;
    idx = (idx + 1) % 2;
    memset(dp[idx], 0, sizeof(dp[idx]));
    for (int j = (0); j < (i + 2); j++) {
      for (int k = (0); k < (2501); k++) {
        dp[idx][j][k] = dp[_idx][j][k];
        if (j > 0 && k >= X[i]) dp[idx][j][k] += dp[_idx][j - 1][k - X[i]];
      }
    }
  }
  long long int res = 0;
  for (int i = (1); i < (N + 1); i++) res += dp[idx][i][A * i];
  cout << res << endl;
  return 0;
}
