#include using namespace std; int qi[4000][100010]; int n; vector breakdown(int N) { vector result; for (int i = 2; i * i <= N; i++) { if (N % i == 0) { while (N % i == 0) { N /= i; result.push_back(i); } } } if (N != 1) { result.push_back(N); } return result; } int main() { freopen("apple.in","r",stdin); freopen("apple.out","w",stdout); cin >> n; for (int i = 1; i <= n; i++) { int x; cin >> x; vector p = breakdown(x); for(int aa=1;aa<=3090;aa++) qi[aa][i] = qi[aa][i - 1]; for (auto aa : p) { qi[aa][i]++; } } int q; cin >> q; for (int i = 1; i <= q; i++) { int p, l, r; cin >> p >> l >> r; int N = p; bool ok=1; for (int i = 2; i * i <= N; i++) { if (N % i == 0) { int an = 0; while (N % i == 0) { N /= i; an++; } if(qi[i][r]-qi[i][l-1]