#include <bits/stdc++.h>
using namespace std;
int t,mp[1001][1001];
int n,m,w;
bool floyd() {
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
for(int k=1; k<=n; k++) {
mp[i][j]=min(mp[i][j],mp[i][k]+mp[k][j]);
if(mp[i][i]<0) return false;
}
}
}
return true;
}
int main() {
cin>>t;
while(t--) {
memset(mp,0x3f,sizeof(mp));
cin>>n>>m>>w;
while(m--) {
int u,v,c;
scanf("%d%d%d",&u,&v,&c);
mp[u][v]=mp[v][u]=c;
}
while(w--) {
int u,v,c;
scanf("%d%d%d",&u,&v,&c);
mp[u][v]=-c;
}
if(!floyd()) {
cout<<"YES\n";
} else {
cout<<"NO\n";
}
}
return 0;
}
https://www.luogu.com.cn/record/137083074