#include <cstdio>
#include <algorithm>
#define ll long long
using namespace std;
const int N = 1e2 + 5;
int t, n, m, fa[N], sz[N], v[N];
ll w[N];
int find(int x, ll & weight) {
weight = 0;
while (x != fa[x]) {
weight += w[x];
x = fa[x];
}
return x;
}
void merge(int x, int y, ll wx, ll wy, int d) {
if (sz[x] > sz[y]) {
swap(x, y);
swap(wx, wy);
d = -d;
}
fa[x] = y;
sz[y] += sz[x];
w[x] = wy - wx - d;
}
int main() {
scanf("%d", &t);
while (t--) {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i++) fa[i] = i, sz[i] = 1, w[i] = 0;
bool tf = 1;
for (int i = 1; i <= m; i++) {
int x, y, v;
scanf("%d%d%d", &x, &y, &v);
x--;
ll wx, wy;
x = find(x, wx); y = find(y, wy);
if (x == y) {
if (wy - wx != v) tf = 0;
} else {
merge(x, y, wx, wy, v);
}
}
if (tf) puts("true");
else puts("false");
}
return 0;
}