#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define INF 1LL<<62
#define inf 1000000007 

ll n,m,d[102][102],L[1001],R[1001],C[1001];

void warshall_floyd() {
  for (int k = 0; k < n; k++){       // 経由する頂点
    for (int i = 0; i < n; i++) {    // 始点
      for (int j = 0; j < n; j++) {  // 終点
        d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
      }
    }
  }
}

int main() {
	cin>>n>>m;
	for(int i=0;i<102;i++){
		for(int j=0;j<102;j++){
			d[i][j]=inf;
		}
	}
	for(int i=0;i<m;i++){
		int l,r,c;
		cin>>l>>r>>c;
		l--;r--;
		d[l][r]=d[r][l]=c;
		L[i]=l;R[i]=r;C[i]=c;
	}
	warshall_floyd();
	ll ans=m;
	for(int i=0;i<m;i++){
		ll nowl=L[i],nowr=R[i],nowc=C[i];
		if(d[nowl][nowr]==nowc){
			ans--;
		}
	}
	cout <<ans;
	return 0;
}