#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>
#include <string.h>
#define INF 1111111
using namespace std;
int d[111][111];
int d2[111][111];
int V;
int main(void){
  int i,j,k;
  int N,M;
  int a,b,c;
  int res=0;

  cin>>N>>M;
  V=N;
  for(i=0;i<=V;i++){
    for(j=0;j<=V;j++){
      d[i][j]=d2[i][j]=INF;
    }
  }

  for(i=0;i<M;i++){
    cin>>a>>b>>c;
    d[a][b]=d[b][a]=d2[a][b]=d2[b][a]=c;
  }

  for(k=1;k<=V;k++)
    for(i=1;i<=V;i++)
      for(j=1;j<=V;j++) d[i][j]=min(d[i][j],d[i][k]+d[k][j]);

  for(i=1;i<=V;i++){
    for(j=1;j<=V;j++){
      if(d[i][j]!=d2[i][j]&&d2[i][j]!=INF) res++;
    }
  }

  cout<<res/2<<endl;
  return 0;
}