#include <cstdio>
#include <vector>
struct NODE{ int v, w; };
using namespace std;
vector<NODE> G[110],H[110];
int n, m, W[110],ans;
int main()
{
    freopen(".15.in","r",stdin);
    freopen(".15.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(int i = 0 ; i < m ; i++ )
    {
        int a, b, w;
        scanf("%d%d%d",&a,&b,&w);
        G[a].push_back({b,w});
        H[b].push_back({a,w});
    }
    for(int i = 1 ; i <= n ; i++ )
    {
        for(int j = 0 ; j < G[i].size() ; j++ )
            W[G[i][j].v] -= G[i][j].w;
        for(int j = 0 ; j < H[i].size() ; j++ )
            W[H[i][j].v] += H[i][j].w;
    }
    for(int i = 1 ; i <= n ; i++ )
        if( W[i] > 0 ) ans+=W[i];
    printf("%d", ans);
}
