#include <bits/stdc++.h>
using namespace std;
const int N = 57;
int d[N][N * N], lazy[N][N * N], n, a, c;
int main() {
  scanf("%d%d", &n, &a);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &c);
    for (int j = 1; j < i; j++)
      for (int k = 1; k < N * N; k++)
        if (d[j][k]) {
          lazy[j + 1][k + c] += d[j][k];
        }
    for (int j = 1; j <= i; j++)
      for (int k = 1; k < N * N; k++)
        if (lazy[j][k]) {
          d[j][k] += lazy[j][k];
          lazy[j][k] = 0;
        }
    d[1][c]++;
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) ans += d[i][i * a];
  cout << ans << endl;
  return 0;
}
