#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;
}