#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, A;
  cin >> N >> A;
  int sum = 0;
  vector<int> X(N);
  for (int i = 0; i < N; i++) {
    cin >> X[i];
    sum += X[i];
  }
  long long DP[N + 1][N + 1][sum + 1];
  for (int i = 0; i < N + 1; i++) {
    for (int j = 0; j < N + 1; j++) {
      for (int k = 0; k < sum + 1; k++) {
        DP[i][j][k] = 0;
      }
    }
  }
  DP[0][0][0] = 1;
  for (int i = 1; i < N + 1; i++) {
    int card = X[i - 1];
    for (int j = 0; j < N + 1; j++) {
      for (int k = 0; k < sum + 1; k++) {
        if (i >= 1 && k < card) {
          DP[i][j][k] = DP[i - 1][j][k];
        } else if (i >= 1 && k >= card) {
          DP[i][j][k] = DP[i - 1][j][k] + DP[i - 1][j - 1][k - card];
        }
      }
    }
  }
  long long ans = 0;
  for (int i = 1; i < N + 1; i++) {
    ans += DP[N][i][i * A];
  }
  cout << ans << endl;
  return 0;
}
