#include using namespace std; int main() { int N, Q; cin >> N >> Q; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } vector> X(N + 1); for (int i = 0; i < N; i++) { if (i) { X[i + 1] = X[i]; } int B = A[i]; vector P; for (int j = 2; (long long)j * j <= B; j++) { if (B % j == 0) { while (B % j == 0) { P.push_back(j); B /= j; } } } if (B > 1) { P.push_back(B); } int M = P.size(); set st; for (int j = 0; j < (1 << M); j++) { int mul = 1; for (int k = 0; k < M; k++) { if (j >> k & 1) { mul *= P[k]; } } st.insert(mul); } for (int w : st) { X[i + 1][w]++; } } while (Q--) { int L, R, K; cin >> L >> R >> K; //cout << X[L - 1][K] << ' ' << X[R][K] << endl; cout << X[R][K] - X[L - 1][K] << endl; } }