#include <bits/stdc++.h>
using namespace std;
long long SUMMAX = 2501;
long long dp[50][50][50 * 50 + 1];
void solve(long long N, long long A, std::vector<long long> x) {
  dp[0][0][0] = 1;
  for (int i = 1; i <= N; i++) {
    long long xi = x[i - 1];
    for (int j = 0; j <= i; j++) {
      for (int k = 0; k < SUMMAX; k++) {
        dp[i][j][k] = dp[i - 1][j][k];
        if (k - xi >= 0 && j > 0) {
          dp[i][j][k] += dp[i - 1][j - 1][k - xi];
        }
      }
    }
  }
  long long ans = 0;
  for (int j = 1; j <= N; j++) {
    if (j * A < SUMMAX) {
      ans += dp[N][j][j * A];
    }
  }
  printf("%lld\n", ans);
}
int main() {
  long long N;
  scanf("%lld", &N);
  long long A;
  scanf("%lld", &A);
  std::vector<long long> x(N);
  for (int i = 0; i < N; i++) {
    scanf("%lld", &x[i]);
  }
  solve(N, A, std::move(x));
  return 0;
}
