#include<bits/stdc++.h>
using namespace std;
int connect[55][55]={};
int size_[55];
int max_m[55]={};
int n,m,maxx=-1;
int a,b,c;
int used[105]={};
void dfs(int x){
max_m[x]+=size_[x];
if(used[x]!=0){
return;
}
used[x]=1;
for(int i=1;i<=n;i++){
if(connect[i][x]==1&&used[i]!=1){
used[i]=1;
dfs(i);
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a>>b>>c;
connect[a][b]=1;
size_[i]=c;
}
for(int i=1;i<=n;i++){
dfs(i);
memset(used,0,sizeof(used));
if(max_m[i]>maxx){
maxx=max_m[i];
}
}
cout<<maxx;
return 0;
}