#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MOD=1e9+7;
const int INF=1e9;

int main(){
    int n,m;
    cin>>n>>m;
    int a[m],b[m],c[m],dp[n][n];
    fill(dp[0],dp[n],INF);
    for(int i=0;i<n;i++)dp[i][i]=0;
    for(int i=0;i<m;i++){
        cin>>a[i]>>b[i]>>c[i];
        a[i]--,b[i]--;
        dp[a[i]][b[i]]=dp[b[i]][a[i]]=c[i];
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            for(int k=0;k<n;k++){
                dp[j][k]=min(dp[j][k],dp[j][i]+dp[i][k]);
            }
        }
    }
    int ans=0;
    for(int i=0;i<m;i++){
        if(dp[a[i]][b[i]]!=c[i])ans++;
    }
    cout<<ans<<endl;
}
