#include<bits/stdc++.h>
using namespace std;
const int N=150010;
int dis[N],bak[N],n,m,u[N],v[N],w[N],check,flag;
int inf=99999999;
inline void init() {
memset(dis,0,sizeof(dis));
memset(bak,0,sizeof(bak));
}
int main() {
int t;
cin>>t;
while(t--) {
cin>>n>>m;
init();
for(int i=1;i<=m;i++) cin>>u[i]>>v[i]>>w[i];
for(int i=1;i<=n;i++) dis[i]=inf;
dis[1]=0;
for(int k=1;k<=n-1;k++) {
for(int i=1;i<=n;i++) bak[i]=dis[i];
for(int i=1;i<=m;i++)
if(dis[v[i]]>dis[u[i]]+w[i])
dis[v[i]]=dis[u[i]]+w[i];
check=0;
for(int i=1;i<=n;i++)
if(bak[i]!=dis[i]) {
check=1;
break;
}
if(check==0) break;
}
flag=0;
for(int i=1;i<=m;i++) if(dis[v[i]]>dis[u[i]]+w[i]) flag=1;
printf(flag ? "YES\n":"NO\n");
}
return 0;
}