#include<bits/stdc++.h>
using namespace std;
struct sNode{
int e[21];
int v[21];
int len;
};
sNode sn[21];
int vis[21];
int n,m;
int maxn;
int a,b,c;
int ne;
void dfs(int x,int y){
maxn=max(maxn,y);
for(int i=0;i<sn[x].len;i++){
ne=sn[x].e[i];
if(!vis[ne]){
vis[ne]=1;
dfs(ne,y+sn[x].v[i]);
vis[ne]=0;
}
}
return;
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a>>b>>c;
sn[a].e[sn[a].len]=b;
sn[a].v[sn[a].len]=c;
sn[a].len++;
sn[b].e[sn[b].len]=a;
sn[b].v[sn[b].len]=c;
sn[b].len++;
}
for(int i=1;i<=n;i++){
vis[i]=1;
dfs(i,0);
vis[i]=0;
}
cout<<maxn;
return 0;
}