#!/usr/bin/env python3 def solve(n, table): dp = [0 for _ in range(1 << n)] for s in range(1 << n): for next_item in range(n): if s & (1 << next_item) != 0: continue delta = sum(table[prev_item][next_item] for prev_item in range(n) if s & (1 << prev_item)) dp[s | (1 << next_item)] = max( dp[s | (1 << next_item)], dp[s] + delta) return dp[(1 << n) - 1] def main(): n, m = map(int, input().split()) table = [[0 for _ in range(n)] for _ in range(n)] for _ in range(m): i1, i2, s = map(int, input().split()) table[i1][i2] = s ans = solve(n, table) print(ans) if __name__ == '__main__': main()