#include <bits/stdc++.h>
using namespace std;
int n;
long long dp[55][3030];
long long ans;
int x[60];
int A;
int main() {
  memset(dp, -1, sizeof dp);
  scanf("%d %d", &n, &A);
  for (int i = 0; i < n; i++) {
    scanf("%d", &x[i]);
  }
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j >= 0; --j)
      for (int t = 0; t < 3000; t++) {
        if (j == 0) {
          if (dp[1][x[i]] == -1)
            dp[1][x[i]] = 1;
          else
            dp[1][x[i]]++;
          break;
        } else {
          if (dp[j][t] == -1) continue;
          if (dp[j + 1][t + x[i]] == -1)
            dp[j + 1][t + x[i]] = dp[j][t];
          else
            dp[j + 1][t + x[i]] += dp[j][t];
        }
      }
  long long ans = 0;
  for (int i = 1; i <= n; i++)
    for (int j = 0; j < 3000; j++) {
      if (dp[i][j] == -1) continue;
      if (j % i == 0 && j / i == A) ans += dp[i][j];
    }
  printf("%I64d\n", ans);
  return 0;
}
