#include #include #include #include #include #define ll long long #define lson (rt<< 1) #define rson (rt<< 1 | 1) #define gmid ((l+r)>> 1 ) using namespace std; const int maxn=20050; int n,m,u,v,w,f[maxn]; ll sum[maxn]; int find(int x) { if(f[x]==x) return x; else return f[x]=find(f[x]); } bool merge(int x,int y) { if(find(x)!=find(y)) { f[find(y)]=find(x); return true; } return false; } int main() { while(~scanf("%d%d",&n,&m)) { int tot=n-1; memset(sum,0,sizeof(sum)); for(int i=0;i<=n;++i) f[i]=i; while(m--) { cin>>u>>v>>w; if(u==v) continue; sum[u]+=w; sum[v]+=w; if(merge(u,v)) tot--; } if(tot>0) cout<<"0"<