// includes {{{ #include #include #include #include #include #include #include #include #include #include #include #include // #include // #include // #include #include // #include // }}} using namespace std; using ll = long long; int g[16][16]; int n, m; ll memo[1 << 16][16 + 1]; ll solve(int s, int now) { if(s == 0) { ll res = 0; for(int i = 0; i < n; i++) res = max(res, solve(1 << i, i)); return res; } if(~memo[s][now]) return memo[s][now]; ll res = 0; for(int i = 0; i < n; i++) if(!(s & (1 << i))) if(g[now][i]) { res = max(res, solve(s | (1 << i), i) + g[now][i]); } return memo[s][now] = res; } int main() { std::ios::sync_with_stdio(false), std::cin.tie(0); cin >> n >> m; for(int i = 0; i < m; i++) { int a, b, c; std::cin >> a >> b >> c; a--; b--; g[a][b] = g[b][a] = max(g[a][b], c); } memset(memo, -1, sizeof memo); cout << solve(0, 16) << endl; return 0; }