#include <bits/stdc++.h>
using namespace std;
long long limit = 2e18;
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long n, k, x;
  cin >> n >> k;
  vector<long long> v;
  long long idx = 0;
  vector<long long> oa(1, 0);
  v.push_back(1);
  for (long long i = 0; i < n; i++) {
    cin >> x;
    if (x == 1) {
      oa.back()++;
    } else {
      v.push_back(x);
      oa.push_back(0);
    }
  }
  long long sz = v.size();
  long long ans = 0;
  if (sz == 1 && k != 1) {
    cout << 0;
    return 0;
  }
  if (k == 1) {
    for (long long i = 0; i < sz; i++) ans += oa[i];
  }
  for (long long i = 1; i < sz; i++) {
    long long prod = 1;
    long long toto = oa[i - 1];
    long long sum = 0;
    for (long long j = i; j < sz; j++) {
      if ((limit / v[j]) < prod) break;
      prod *= v[j];
      toto = oa[i - 1] + oa[j];
      sum += v[j];
      long long val = prod / k;
      if ((prod % k == 0) && (val >= sum && val <= (sum + toto))) {
        long long st = max(0ll, val - sum - oa[i - 1]);
        long long en = min(val - sum, oa[j]);
        ans += max(en - st + 1, 0ll);
      }
      sum += oa[j];
    }
  }
  cout << ans;
  return 0;
}
