#include using namespace std; #define U 100010 int A[U]; int P[U]; int L[U]; int R[U]; int ord_A[U]; bool is_prime[2010]; bool ok[U]; int main() { int N; cin >> N; for (int i = 0; i < N; i++) { cin >> A[i]; } int Q; cin >> Q; for (int i = 0; i < Q; i++) { ok[i] = true; cin >> P[i]; cin >> L[i]; cin >> R[i]; } is_prime[2] = 1; for (int i = 3; i < 2010; i += 2) { is_prime[i] = 1; } for (int p = 3; p * p < 2010; p += 2) { if (is_prime[p]) { for (int i = p * p; i < 2010; i += p) { is_prime[i] = 0; } } } for (int p = 2; p < 2010; p++) { if (!is_prime[p]) continue; for (int i = 0; i < N; i++) { int e = 0; while (A[i] % p == 0) { A[i] /= p; e++; } ord_A[i + 1] = ord_A[i] + e; } for (int i = 0; i < Q; i++) { int e = 0; while (P[i] % p == 0) { P[i] /= p; e++; } int f = ord_A[R[i]] - ord_A[L[i] - 1]; if (f < e) { ok[i] = false; } } } for (int i = 0; i < Q; i++) { if (ok[i] and P[i] == 1) { cout << "Yes\n"; } else { cout << "NO\n"; } } }