#include <bits/stdc++.h>
using namespace std;
#define MAX 70005
#define int long long
int prefix[MAX];
int n,q;
void phantich(int x, int j)
{
int _x = x;
for(int i = 2; i*i <= _x; i++){
while(x%i == 0){
//cout << i << ' ';
prefix[j] ^= i;
x /= i;
}
}
if(x > 1) prefix[j] ^= x;
}
signed main() {
// freopen("seqcp.inp","r",stdin);
// freopen("seqcp.out","w",stdout);
cin >> n >> q;
prefix[0] = 0;
for(int i = 1; i<=n; i++){
int a; cin >> a;
prefix[i] = prefix[i-1];
phantich(a,i);
}
while(q--){
int l,r; cin >> l >> r;
if((prefix[r] ^ prefix[l-1]) == 0){
cout << "YES" << '\n';
}else{
cout << "NO" << '\n';
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTUFYIDcwMDA1CiNkZWZpbmUgaW50IGxvbmcgbG9uZyAKCmludCBwcmVmaXhbTUFYXTsKaW50IG4scTsKCnZvaWQgcGhhbnRpY2goaW50IHgsIGludCBqKQp7CglpbnQgX3ggPSB4OwoJZm9yKGludCBpID0gMjsgaSppIDw9IF94OyBpKyspewoJCXdoaWxlKHglaSA9PSAwKXsKCQkJLy9jb3V0IDw8IGkgPDwgJyAnOwoJCQlwcmVmaXhbal0gXj0gaTsKCQkJeCAvPSBpOwoJCX0KCX0KCWlmKHggPiAxKSBwcmVmaXhbal0gXj0geDsKfQoKc2lnbmVkIG1haW4oKSB7Ci8vCWZyZW9wZW4oInNlcWNwLmlucCIsInIiLHN0ZGluKTsKLy8JZnJlb3Blbigic2VxY3Aub3V0IiwidyIsc3Rkb3V0KTsKCWNpbiA+PiBuID4+IHE7CglwcmVmaXhbMF0gPSAwOwoJZm9yKGludCBpID0gMTsgaTw9bjsgaSsrKXsKCQlpbnQgYTsgY2luID4+IGE7CgkJcHJlZml4W2ldID0gcHJlZml4W2ktMV07CgkJcGhhbnRpY2goYSxpKTsKCX0KCXdoaWxlKHEtLSl7CgkJaW50IGwscjsgY2luID4+IGwgPj4gcjsKCQlpZigocHJlZml4W3JdIF4gcHJlZml4W2wtMV0pID09IDApewoJCQljb3V0IDw8ICJZRVMiIDw8ICdcbic7CgkJfWVsc2V7CgkJCWNvdXQgPDwgIk5PIiA8PCAnXG4nOwoJCX0KCX0KCXJldHVybiAwOwp9