RE #7 Exit code is -1073741819
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mpr make_pair
#define fr first
#define sc second
inline int read(){
int res=0,f=1;char c=getchar();
while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
while (c>='0'&&c<='9') {res=res*10+(c-'0');c=getchar();}
return res*f;
}
const int N=2e5+5;
int T=read(),n,m,a[N];
vector<int>e[N];
signed main(){
while (T--){
n=read(),m=read();
e[0].push_back(0);
for (int i=1;i<=n;i++){
a[i]=read(),a[i]^=a[i-1];
e[a[i]].push_back(i);
// cout<<a[i]<<' ';
}
// cout<<'\n';
while (m--){
int _l=read(),_r=read();
if (a[_l-1]==a[_r]) cout<<"YES\n";
else{
int l=0,r=e[a[_l-1]].size()-1,x,y;
while (l<r){
int mid=(l+r+1)>>1;
// cout<<l<<' '<<r<<' '<<e[a[_l-1]][mid]<<'\n';
if (e[a[_l-1]][mid]>_r) r=mid-1;
else l=mid;
}
x=e[a[_l-1]][l];
l=0,r=e[a[_r]].size()-1;
while (l<r){
int mid=(l+r)>>1;
if (e[a[_r]][mid]<_l) l=mid+1;
else r=mid;
}
y=e[a[_r]][l];
// cout<<x<<' '<<y<<'\n';
if (x==_l-1||y==_r||x<=y) cout<<"NO\n";
else cout<<"YES\n";
}
}
for (int i=0;i<=n;i++) e[a[i]].clear();
}
return 0;
}