N, M = map(int, input().split()) item1 = [0] * M item2 = [0] * M score = [0] * M max_score = 0 sheat = [] for p in range(N): l = [] for q in range(N): l.append(0) sheat.append(l) for i in range(M): item1[i], item2[i], score[i] = map(int, input().split()) sheat[item1[i]][item2[i]] = score[i] dic = {} tup = tuple() for i in range(N): tup += ((i,),) dic[(i,)] = 0 new_tup = tup for i in range(1, N): tup = new_tup new_tup = tuple() for tu in tup: for k in range(N): if not (k in tu): temp = tu + (k,) dic[temp] = dic[tu] for c in tu: dic[temp] += sheat[c][k] new_tup += (temp,) print(dic[max(dic)])