#include <bits/stdc++.h>
using namespace std;
int n, a;
long long int dp[2501][51][51];
int x[50];
long long int ans;
long long int gcd(long long int x, long long int y) {
  if (y == 0) return x;
  return gcd(y, x % y);
}
long long int lcm(long long int x, long long int y) {
  long long int g = gcd(x, y);
  return x / g * y;
}
int main() {
  cin >> n >> a;
  for (int i = 0; i < n; i++) cin >> x[i];
  for (int i = 0; i < 2501; i++)
    for (int j = 0; j < 51; j++)
      for (int k = 0; k < 51; k++) dp[i][j][k] = 0;
  dp[0][0][0] = 1;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < 2501; j++) {
      for (int k = 0; k < i + 1; k++) {
        dp[j + x[i]][i + 1][k + 1] += dp[j][i][k];
        dp[j][i + 1][k] += dp[j][i][k];
      }
    }
  }
  ans = 0;
  for (int i = 0; i < n; i++) {
    ans += dp[a * (i + 1)][n][i + 1];
  }
  cout << ans << endl;
  return 0;
}
