#include <bits/stdc++.h>
using namespace std;
#define modulo 1000000007
#define mod(mod_x) ((((long long)mod_x+modulo))%modulo)
#define Inf 1000000000



int main(){
	
	int N,M;
	cin>>N>>M;
	
	vector<vector<int>> dis(N,vector<int>(N,Inf));
	
	vector<pair<pair<int,int>,int>> V(M);
	for(int i=0;i<M;i++){
		int a,b,c;
		cin>>a>>b>>c;
		a--;b--;
		V[i]=make_pair(make_pair(a,b),c);
		dis[a][b]=c;
		dis[b][a]=c;
	}
	
	for(int k=0;k<N;k++){
		for(int i=0;i<N;i++){
			for(int j=0;j<N;j++){
				if(dis[i][k]+dis[k][j]<dis[i][j]){
					dis[i][j]=dis[i][k]+dis[k][j];
				}
			}
		}
	}
	
	int ans = 0;
	
	for(int i=0;i<M;i++){
		if(dis[V[i].first.first][V[i].first.second]!=V[i].second)ans++;
	}
	
	cout<<ans<<endl;	
	
    return 0;
}

