#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 20, M = N * N;
ll h[N], e[M], ne[M], w[M], idx;
ll n,m;
ll res = 0;
bool vis[N];
void add(ll a, ll b, ll c)
{
e[idx] = b, ne[idx] = h[a], w[idx] = c, h[a] = idx++;
}
void dfs(ll u, ll len)
{
res = max(res, len);
vis[u] = true;
for (int i = h[u]; i >= 0; i = ne[i])
{
int v = e[i];
if (!vis[v])
{
dfs(v, len + w[i]);
}
}
vis[u] = false;
}
int main()
{
cin>>n>>m;
memset(h,-1,sizeof(h));
for (ll i = 1; i <= m; i++)
{
ll a,b,c;
cin>>a>>b>>c;
add(a,b,c);
add(b,a,c);
}
for (ll i=1;i<=n;i++)
{
dfs(i,0);
}
cout<<res<<endl;
return 0;
}