using System; using System.Collections.Generic; using System.Linq; namespace yukicoder { public class Program { public static void Main() { var n = Console.ReadLine().Split(' ').Select(value => int.Parse(value)).ToArray(); var S = new string[n[1]][]; for (var i = 0; i < n[1]; i++) { S[i] = Console.ReadLine().Split(' '); } var A = AllPermutation(Enumerable.Range(0, n[0]).ToArray()); var m = 0; foreach (var aa in A) { var a = String.Join("", aa); var k = 0; foreach (var s in S) { if (a.IndexOf(s[0]) < a.IndexOf(s[1])) { k += int.Parse(s[2]); } } m = Math.Max(m, k); } Console.WriteLine(m); } static List AllPermutation(params T[] array) where T : IComparable { var a = new List(array).ToArray(); var res = new List(); res.Add(new List(a).ToArray()); var n = a.Length; var next = true; while (next) { next = false; // 1 int i; for (i = n - 2; i >= 0; i--) { if (a[i].CompareTo(a[i + 1]) < 0) break; } // 2 if (i < 0) break; // 3 var j = n; do { j--; } while (a[i].CompareTo(a[j]) > 0); if (a[i].CompareTo(a[j]) < 0) { // 4 var tmp = a[i]; a[i] = a[j]; a[j] = tmp; Array.Reverse(a, i + 1, n - i - 1); res.Add(new List(a).ToArray()); next = true; } } return res; } } }