#include<bits/stdc++.h>
using namespace std;
#define ii pair<int, int>
#define ll pair<long long, long long>
const int inf = 1e9;
const int mod = 1e9 +7;
const int maxn = 1e5 + 1;
int t,m,n,a[maxn],u,v;
vector<int> g[maxn];
bool kiemtra(int n)
{
for (int i=1; i<=n; i++) a[i]=-1;
for (int i=1; i<=n; i++)
if (a[i]==-1)
{
queue<int> q;
q.push(i);
a[i]=0;
while (!q.empty())
{
int u=q.front(); q.pop();
for (int v:g[u])
if (a[v]==-1) a[v]=1-a[u],q.push(v);
else if (a[v]==a[u]) return false;
}
}
return true;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin>>t;
while (t--)
{
cin>>n>>m;
for (int i=1; i<=n; i++) g[i].clear();
for (int i=1; i<=m; i++)
{
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);
}
if (kiemtra(n)) cout<<"NO";
else cout<<"YES";
cout<<"\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpaSBwYWlyPGludCwgaW50PgojZGVmaW5lIGxsIHBhaXI8bG9uZyBsb25nLCBsb25nIGxvbmc+CmNvbnN0IGludCBpbmYgPSAxZTk7CmNvbnN0IGludCBtb2QgPSAxZTkgKzc7CmNvbnN0IGludCBtYXhuID0gMWU1ICsgMTsKaW50IHQsbSxuLGFbbWF4bl0sdSx2Owp2ZWN0b3I8aW50PiBnW21heG5dOwpib29sIGtpZW10cmEoaW50IG4pCiB7CiAJZm9yIChpbnQgaT0xOyBpPD1uOyBpKyspIGFbaV09LTE7CiAJZm9yIChpbnQgaT0xOyBpPD1uOyBpKyspCiAJCWlmIChhW2ldPT0tMSkKIAkJIHsKIAkJIAlxdWV1ZTxpbnQ+IHE7CiAJCSAJcS5wdXNoKGkpOwogCQkgCWFbaV09MDsKIAkJIAl3aGlsZSAoIXEuZW1wdHkoKSkKIAkJIAkgewogCQkgCSAJaW50IHU9cS5mcm9udCgpOyBxLnBvcCgpOwogCQkgCSAJZm9yIChpbnQgdjpnW3VdKQogCQkgCSAJIAlpZiAoYVt2XT09LTEpIGFbdl09MS1hW3VdLHEucHVzaCh2KTsKIAkJIAkgCQkJZWxzZSBpZiAoYVt2XT09YVt1XSkgcmV0dXJuIGZhbHNlOwoJCQkgfQoJCSB9CglyZXR1cm4gdHJ1ZTsKIH0KaW50IG1haW4oKXsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZSgwKTsgY291dC50aWUoMCk7CgljaW4+PnQ7Cgl3aGlsZSAodC0tKQoJIHsKCSAJY2luPj5uPj5tOwoJIAlmb3IgKGludCBpPTE7IGk8PW47IGkrKykgZ1tpXS5jbGVhcigpOwoJIAlmb3IgKGludCBpPTE7IGk8PW07IGkrKykKCSAJIHsKCSAJIAljaW4+PnU+PnY7CgkgCSAJZ1t1XS5wdXNoX2JhY2sodik7CgkgCSAJZ1t2XS5wdXNoX2JhY2sodSk7CgkJIH0KCQlpZiAoa2llbXRyYShuKSkgY291dDw8Ik5PIjsKCQkJZWxzZSBjb3V0PDwiWUVTIjsKCQljb3V0PDwiXG4iOwoJIH0KfQo=