hdu3038模板
#include<bits/stdc++.h>
#define ll long long
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,n,a) for(int i=n;i>=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a))
#define IO ios::sync_with_stdio(false);cin.tie(0);
using namespace std;
const int INF=0x3f3f3f3f;
const ll inf=0x3f3f3f3f3f3f3f3f;
const int mod=1e9+7;
const int maxn=2e5+5;
int fa[maxn],d[maxn];
int find(int x){
if(x!=fa[x]){
int temp=fa[x];
fa[x]=find(fa[x]);
d[x]+=d[temp];
}
return fa[x];
}
int main(){
int n,m;
while(cin>>n>>m){
rep(i,0,n) fa[i]=i,d[i]=0;
int ans=0;
rep(i,1,m){
int l,r,w;cin>>l>>r>>w;l-=1;
int eu=find(l),ev=find(r);
if(eu==ev){
if(d[l]-d[r]!=w){
ans+=1;
}
}else{
fa[eu]=ev;
d[eu]=d[r]-d[l]+w;
}
}
cout<<ans<<endl;
}
}