/* このコード、と~おれ! Be accepted! ∧_∧  (。・ω・。)つ━☆・*。 ⊂   ノ    ・゜+.  しーJ   °。+ *´¨)          .· ´¸.·*´¨) ¸.·*¨)           (¸.·´ (¸.·'* ☆ */ #define rep(i, n) for(int i = 0; i < (n); ++i) #define repr(i, n) for(int i = n; i >= 0; --i) #define printyn(a) printf(a ? "Yes\n" : "No\n") #define printYN(a) printf(a ? "YES\n" : "NO\n") #define printfin(a) printf(a ? "possible\n" : "inposible\n") #define all(x) (x).begin(), (x).end() using ll = long long; //マクロとかここまで #include #include #include #include #include #include using namespace std; int main() { int n, a[100000], q, p, l, r; ll amount = 1; bool isok = true; scanf("%d", &n); rep(i, n)scanf("%d", &a[i]); scanf("%d", &q); rep(i, q) { scanf("%d%d%d", &p, &l, &r); isok = true; for (int j = l; j < r; ++j) { amount *= a[j]; } printyn(!(amount % p)); amount = 1; } printf("\n"); return 0; }