#include <bits/stdc++.h>
using namespace std;
int f[1005],q[1005];
int find(int x)
{
if(x!=f[x])
{
int t=find(f[x]);
q[x]+=q[f[x]];
f[x]=t;
}
else return x;
return f[x];
}
int main(){
int w,n,m,s,t,v;
cin>>w;
for(int i = 1;i<=w;i++){
cin>>n>>m;
int flag = 0;
for(int j = 1;j<=n;j++){
f[j] = j;
q[j] = 0;
}
for(int j = 1;j<=m;j++){
cin>>s>>t>>v;
s--;
if(find(s)!=find(t)){
q[f[t]]=q[s]-q[t]-v;
f[f[t]]=f[s];
}
else if(q[s]-q[t] != v){
flag = 1;
break;
}
}
if(flag == 1)cout<<"false"<<endl;
else cout<<"true"<<endl;
}
return 0;
}