N, M = map(int, input().split()) G = [[0] * N for _ in range(N)] for _ in range(M): a, b, score = map(int, input().split()) G[a][b] = score dp = [0] * (1 << N) for b in range(1 << N): t = tuple(i for i in range(N) if ((b >> i) & 1) == 1) for i in t: dp[b] = max(dp[b], dp[b - (1 << i)] + sum(G[j][i] for j in t)) print(dp[-1])