#include <bits/stdc++.h>
using namespace std;
long long a[500000];
long long n, k;
vector<long long> m;
void build(long long i, long long s, long long e) {
  if (s == e) {
    a[i] = m[s] % k;
    return;
  }
  long long mid = (s + e) / 2;
  build(2 * i + 1, s, mid);
  build(2 * i + 2, mid + 1, e);
  a[i] = (a[2 * i + 1] * a[2 * i + 2]) % k;
}
long long query(long long i, long long s, long long e, long long l,
                long long r) {
  if (s > r || l > e) return 1;
  if (s >= l && r >= e) return a[i];
  long long mid = (s + e) / 2;
  return (query(2 * i + 1, s, mid, l, r) * query(2 * i + 2, mid + 1, e, l, r)) %
         k;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  m.resize(n);
  for (long long i = 0; i < n; i++) cin >> m[i];
  build(0, 0, n - 1);
  long long p = 0, ans = 0;
  for (long long i = 0; i < n; i++) {
    if (i > p) p = i;
    while (p < n && query(0, 0, n - 1, i, p) != 0) p++;
    if (p != n)
      ans += (n - p);
    else
      break;
  }
  cout << ans;
}
