#include<bits/stdc++.h>
using namespace std;
long long dian[6005],pan[6005];
vector<int> a[9005];
vector<int>w[9005];
int main()
{
int t;
cin>>t;
for(int u=0;u<t;u++)
{
for(int i=0;i<=6005;i++)
{
a[i].clear();
w[i].clear();
}
int n,m;
bool sum=0;
cin>>n>>m;
queue<int>q;
q.push(1);
pan[1]=1;
for(int i=0;i<=n;i++)
{
pan[i]=0;
dian[i]=1234567;
}
for(int i=0;i<m;i++)
{
int o,p,l;
cin>>o>>p>>l;
if(l>0)
{
a[o].push_back(p);
a[p].push_back(o);
w[o].push_back(l);
w[p].push_back(o);
}
else
{
a[o].push_back(p);
w[o].push_back(l);
}
}
dian[1]=0;
while(!q.empty())
{
int asd=q.front();
if(pan[q.front()]>=n)
{
sum=1;
break;
}
q.pop();
for(int i=0;i<a[asd].size();i++)
{
if(dian[a[asd][i]]>dian[asd]+w[asd][i])
{
dian[a[asd][i]]=dian[asd]+w[asd][i];
q.push(a[asd][i]);
pan[a[asd][i]]++;
}
}
}
if(sum!=0)
{
cout<<"YES"<<endl;
}
else
{
cout<<"NO"<<endl;
}
}
return 0;
}