#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=100010;
int n,m,kq;
int a[N],b[N],x[N],y[N],p[N],id[N],ans[N];
int root(int x){return id[x]<0?x:id[x]=root(id[x]);}
int main()
{
    ios_base::sync_with_stdio(false),cin.tie(nullptr);
    cin>>n>>m;
    for(int i=1;i<=n;++i) cin>>x[i],id[i]=-1;
    for(int i=1;i<=m;++i) cin>>a[i]>>b[i]>>y[i],p[i]=i;
    sort(p+1,p+m+1,[](int i,int j){return y[i]<y[j];});
    for(int i=1;i<=m;++i)
    {
        int u=root(a[p[i]]),v=root(b[p[i]]),c=y[p[i]];
        if(u==v) ans[u]+=c>x[u];
        else
        {
            x[u]+=x[v],id[v]=u;
            ans[u]+=ans[v];
            ans[u]=(c>x[u] ? ans[u]+1 : 0);
        }
    }
    for(int i=1;i<=n;++i) if(id[i]<0) kq+=ans[i];
    cout<<kq;
}
