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