#include <bits/stdc++.h>
using namespace std;
long long int pow(int x, int n) { return n == 0 ? 1 : x * pow(x, n - 1); }
int n, a, x[50];
long long int dp[51][51][2501];
int main() {
  cin >> n >> a;
  for (int i = 0; i < (n); i++) {
    cin >> x[i];
  }
  dp[0][0][0] = 1;
  for (int i = 0; i < (n); i++) {
    for (int j = 0; j < (n); j++) {
      if (1) fprintf(stderr, "i=%2d, j=%2d|", i, j);
      for (int k = 0; k < (n * a + 1); k++) {
        if (j > 0 && k >= x[i]) {
          dp[i + 1][j][k] = dp[i][j][k] + dp[i][j - 1][k - x[i]];
        } else {
          dp[i + 1][j][k] = dp[i][j][k];
        }
        if (1) fprintf(stderr, "%3lld ", dp[i + 1][j][k]);
      }
      if (1) fprintf(stderr, "\n");
    }
  }
  long long int ans = 0;
  for (int j = (1); j < (n + 1); j++) {
    ans += dp[n][j][j * a];
  }
  cout << ans << endl;
  return 0;
}
