N, M = map(int, input().split()) tbl = [[0] * N for _ in range(N)] dp = [0] * (1 << N) dp[0] = 0 for _ in range(M): a, b, score = map(int, input().split()) tbl[a - 1][b - 1] = score for msk in range(1 << N): for a in range(N): # a: 追加するitem s = dp[msk] if msk & (1 << a): continue for b in range(N): # b: 既に選んだitem if msk & (1 << b): s += tbl[a][b] dp[msk + (1 << a)] = max(dp[msk + (1 << a)], s) print(dp[-1])