#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
const int N = 70005;
int n, q;
int spf[N];
vector<int> primes;
ull P[N], H[N], mask[N];
void precompute() {
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
for (int i = 2; i < N; i++) {
if (!spf[i]) {
spf[i] = i;
primes.push_back(i);
H[i] = rng();
}
for (int p : primes) {
if (p > spf[i] || i * p >= N) break;
spf[i * p] = p;
}
}
for (int i = 2; i < N; i++) mask[i] = mask[i / spf[i]] ^ H[spf[i]];
}
void solve() {
cin >> n >> q;
for (int i = 1; i <= n; i++) {
int x; cin >> x;
P[i] = P[i - 1] ^ mask[x];
}
while (q--) {
int l, r; cin >> l >> r;
if (P[r] == P[l - 1]) cout << "YES\n";
else cout << "NO\n";
}
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define TASK "SEQCP"
if (fopen(TASK".INP", "r")) {
freopen(TASK".INP", "r", stdin);
freopen(TASK".OUT", "w", stdout);
}
precompute();
int tests = 1; // cin >> tests;
while (tests--) solve();
#ifdef LOCAL
cerr << "\nTime elapsed: " << clock() << " ms.\n";
#endif
return 0;
};
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKdXNpbmcgdWxsID0gdW5zaWduZWQgbG9uZyBsb25nOwoKY29uc3QgaW50IE4gPSA3MDAwNTsKCmludCBuLCBxOwoKaW50IHNwZltOXTsKdmVjdG9yPGludD4gcHJpbWVzOwp1bGwgUFtOXSwgSFtOXSwgbWFza1tOXTsKCnZvaWQgcHJlY29tcHV0ZSgpIHsKICAgIG10MTk5MzdfNjQgcm5nKGNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKS50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CiAgICBmb3IgKGludCBpID0gMjsgaSA8IE47IGkrKykgewogICAgICAgIGlmICghc3BmW2ldKSB7CiAgICAgICAgICAgIHNwZltpXSA9IGk7CiAgICAgICAgICAgIHByaW1lcy5wdXNoX2JhY2soaSk7CiAgICAgICAgICAgIEhbaV0gPSBybmcoKTsKICAgICAgICB9CiAgICAgICAgZm9yIChpbnQgcCA6IHByaW1lcykgewogICAgICAgICAgICBpZiAocCA+IHNwZltpXSB8fCBpICogcCA+PSBOKSBicmVhazsKICAgICAgICAgICAgc3BmW2kgKiBwXSA9IHA7CiAgICAgICAgfQogICAgfQogICAgZm9yIChpbnQgaSA9IDI7IGkgPCBOOyBpKyspIG1hc2tbaV0gPSBtYXNrW2kgLyBzcGZbaV1dIF4gSFtzcGZbaV1dOwp9Cgp2b2lkIHNvbHZlKCkgewogICAgY2luID4+IG4gPj4gcTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGludCB4OyBjaW4gPj4geDsKICAgICAgICBQW2ldID0gUFtpIC0gMV0gXiBtYXNrW3hdOwogICAgfQogICAgd2hpbGUgKHEtLSkgewogICAgICAgIGludCBsLCByOyBjaW4gPj4gbCA+PiByOwogICAgICAgIGlmIChQW3JdID09IFBbbCAtIDFdKSBjb3V0IDw8ICJZRVNcbiI7CiAgICAgICAgZWxzZSBjb3V0IDw8ICJOT1xuIjsKICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICAjZGVmaW5lIFRBU0sgIlNFUUNQIgogICAgaWYgKGZvcGVuKFRBU0siLklOUCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKFRBU0siLklOUCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oVEFTSyIuT1VUIiwgInciLCBzdGRvdXQpOwogICAgfQogICAgCiAgICBwcmVjb21wdXRlKCk7CgogICAgaW50IHRlc3RzID0gMTsgLy8gY2luID4+IHRlc3RzOwogICAgd2hpbGUgKHRlc3RzLS0pIHNvbHZlKCk7CgogICAgI2lmZGVmIExPQ0FMCiAgICBjZXJyIDw8ICJcblRpbWUgZWxhcHNlZDogIiA8PCBjbG9jaygpIDw8ICIgbXMuXG4iOwogICAgI2VuZGlmCiAgICByZXR1cm4gMDsKfTsK