#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,n,m,u,v,w,f[2005],d[2005];
vector<pair<ll,ll> >a[2005];
bool vis[2005];
queue<ll>q;
bool spfa(){
while(!q.empty()){
ll u=q.front();
q.pop();
vis[u]=0;
for(auto it:a[u]){
ll v=it.first,w=it.second;
if(d[v]<=d[u]+w)continue;
d[v]=d[u]+w;
f[v]=f[u]+1;
if(f[v]>=n)return 1;
if(!vis[v])vis[v]=1,q.push(v);
}
}
return 0;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(nullptr);
cout.tie(nullptr);
cin>>t;
while(t--){
for(int i=0;i<=2003;i++)f[i]=0,d[i]=1e9,a[i].clear(),vis[i]=0;
while(!q.empty())q.pop();
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u>>v>>w;
if(w>=0){
a[u].push_back({v,w});
a[v].push_back({u,w});
}else a[u].push_back({v,w});
}
q.push(1);
vis[1]=1;
if(spfa())cout<<"YES\n";
else cout<<"NO\n";
}
return 0;
}
老是判不出来