#include <bits/stdc++.h>
using namespace std;
const int N=2e3+5,M=6e3+5;
long long n,m,mm,u[M],v[M],w[M],T,dis[N],cnt=0,uu,vv,ww;
bool njzy(int s){
while (true){cnt++;
bool flag = true;
for (int i = 1; i <= mm; ++i){
if (dis[u[i]] + w[i] < dis[v[i]]){
dis[v[i]] = dis[u[i]] + w[i];
flag = false;}}
if (flag) return false;
if (cnt >= n) return true;}}
int main(){
cin>>T;
while (T--){cin>>n>>m;mm=0;
for (int i = 1; i <= m; ++i){
cin>>uu>>vv>>ww;mm++;
u[mm] = uu, v[mm] = vv, w[mm] = ww;
if (ww >= 0){mm++;
u[mm] = vv, v[mm] = uu, w[mm] = ww;}}
if (njzy(1)) cout << "YES" << endl;
else cout << "NO" << endl;}
return 0;
}