#include<bits/stdc++.h>
using namespace std;
const int N = 10000+10;
int n,m,s,t,v,tt;
int f[N],r[N];
int find(int x){
if(f[x]==x) return x;
int tmp=find(f[x]);
r[x]+=r[f[x]];
return f[x]=tmp;
}
int main(){
cin>>tt;
while(tt--){
bool ff=1;
cin>>n>>m;
for(int i=0;i<=n;i++) f[i]=i;
for(int i=1;i<=m;i++){
cin>>s>>t>>v;
if(s) s--;
int fx=find(s);
int fy=find(t);
if(fx!=fy){
f[fx]=fy;
r[fx]=r[t]-r[s]+v;
}else{
if(v!=r[s]-r[t]){
ff=0;
break;
}
}
}
if(ff) cout<<"true"<<endl;
else cout<<"false"<<endl;
for(int i=0;i<=n;i++) f[i]=0;
}
return 0;
}