#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+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTUFYIDcwMDA1CiNkZWZpbmUgaW50IGxvbmcgbG9uZyAKCmludCBwcmVmaXhbTUFYXTsKaW50IG4scTsKCnZvaWQgcGhhbnRpY2goaW50IHgsIGludCBqKQp7CglpbnQgX3ggPSB4OwoJZm9yKGludCBpID0gMjsgaSppIDw9IF94OyBpKyspewoJCXdoaWxlKHglaSA9PSAwKXsKCQkJLy9jb3V0IDw8IGkgPDwgJyAnOwoJCQlwcmVmaXhbal0gXj0gaTsKCQkJeCAvPSBpOwoJCX0KCX0KCWlmKHggPiAxKSBwcmVmaXhbal0gXj0geDsKfQoKc2lnbmVkIG1haW4oKSB7CglmcmVvcGVuKCJzZXFjcC5pbnAiLCJyIixzdGRpbik7CglmcmVvcGVuKCJzZXFjcC5vdXQiLCJ3IixzdGRvdXQpOwoJY2luID4+IG4gPj4gcTsKCXByZWZpeFswXSA9IDA7Cglmb3IoaW50IGkgPSAxOyBpPD1uOyBpKyspewoJCWludCBhOyBjaW4gPj4gYTsKCQlwcmVmaXhbaV0gPSBwcmVmaXhbaS0xXTsKCQlwaGFudGljaChhLGkpOwoJfQoJd2hpbGUocS0tKXsKCQlpbnQgbCxyOyBjaW4gPj4gbCA+PiByOwoJCWlmKChwcmVmaXhbcl0gXiBwcmVmaXhbbC0xXSkgPT0gMCl7CgkJCWNvdXQgPDwgIllFUyIgPDwgJ1xuJzsKCQl9ZWxzZXsKCQkJY291dCA8PCAiTk8iIDw8ICdcbic7CgkJfQoJfQoJcmV0dXJuIDA7Cn0=