#include<bits/stdc++.h>
using namespace std;
int n,m,u,v,w,t;
int pre[2010],d[2010],tim[10001];
bool f[2010];
int k;
struct aa{
int to,from,l,next;
};
aa a[6010];
void spfa()
{
queue<int> q;
int j;
q.push(1);
f[1]=true;
d[1]=0;
while(!q.empty())
{
int x=q.front();
for(j=pre[x];j!=0;j=a[j].next)
{
int y=a[j].to;
if(a[j].l+d[x]<d[y])
{
d[y]=a[j].l+d[x];
tim[y]=tim[x]+1;
if(tim[y]>=n)
{
cout<<"YES"<<endl;
return;
}
if(!f[y])
{
f[y]=true;
q.push(y);
}
}
}
q.pop();
f[x]=false;
}
cout<<"NO"<<endl;
}
void add(int u,int v,int len)
{
k++;
a[k].from=u;
a[k].to=v;
a[k].l=len;
a[k].next=pre[u];
pre[u]=k;
}
int main()
{
cin>>t;
for(int p=1;p<=t;p++)
{
k=0;
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>u>>v>>w;
add(u,v,w);
if(w>=0)
{
add(v,u,w);
}
}
memset(d,0x3f,sizeof(d));
memset(f,0,sizeof(f));
memset(tim,0,sizeof(tim));
spfa();
}
return 0;
}