#include using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(0); int n; cin >> n; vector a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } vector primes; vector isprime(2000, true); isprime[0] = false; isprime[1] = false; for (int i = 2; i * i < 2000; ++i) { if (isprime[i]) { for (int j = i * i; j < 2000; j += i) { isprime[j] = false; } } } for (int i = 0; i < 2000; ++i) { if (isprime[i]) primes.push_back(i); } int m = primes.size(); vector> ims(n + 1, vector(m)); for (int i = 0; i < n; i++) { ims[i + 1] = ims[i]; int p = a[i]; for (int j = 0; j < m; j++) { while (p % primes[j] == 0) { p /= primes[j]; ++ims[i + 1][j]; } } } int q; cin >> q; for (int i = 0; i < q; i++) { int p, l, r; cin >> p >> l >> r; --l; for (int j = 0; j < m; j++) { int c = ims[r][j] - ims[l][j]; while (p % primes[j] == 0) { p /= primes[j]; --c; } if (c < 0) { p = -1; break; } } if (p != 1) { cout << "NO\n"; } else { cout << "Yes\n"; } } return 0; }