#include<iostream>
using namespace std;
const static int INF = 100000000;
int main(){
    int n,m;
    cin>>n>>m;
    int a[m],b[m],c[m];
    for(int i = 0; i < m; i++)
    {
        cin>>a[i]>>b[i]>>c[i];
        a[i]--;b[i]--;
    }

    int dist[n][n];

    for(int i=0;i<n;i++)for(int j=0;j<n;j++)dist[i][j]=(i==j?0:INF);

    for(int i=0;i<m;i++){
        dist[a[i]][b[i]]=min(dist[a[i]][b[i]],c[i]);
        dist[b[i]][a[i]]=min(dist[b[i]][a[i]],c[i]);
    }

    for(int k=0;k<n;k++){
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]);
            }
        }
    }

    int  ans=0;
    for(int i=0;i<m;i++)if(dist[a[i]][b[i]]<c[i])ans++;
    cout<<ans<<endl;
    return 0;
}