#include <bits/stdc++.h>
using namespace std;
int T,n,m,u,v,w,val[2005];
vector<pair<int,int> >e[2005];
bool fh(){
memset(val,0x3f,sizeof(val));
val[1]=0;
for(int k=1;k<=n;k++){
int p=0;
for(int i=1;i<=n;i++){
int l=e[i].size();
for(int j=0;j<l;j++){
if(val[e[i][j].first]>val[i]+e[i][j].second){
val[e[i][j].first]=val[i]+e[i][j].second;
p=1;
if(k==n){
return 1;
}
}
}
}
if(p==0){
break;
}
}
return 0;
}
int main(){
cin>>T;
while(T--){
for(int i=0;i<2005;i++) e[i].clear();
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u>>v>>w;
e[u].push_back(make_pair(v,w));
}
if(fh()){
puts("YES");
}else{
puts("NO");
}
}
return 0;
}