#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define fix(n) cout<; const ll MOD = 1000000007; // 10^9 + 7 const int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; const int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; template void outvo(vector v) { if (v.size() == 0) return; cout << v[0]; for (int i = 1; i < v.size(); i++) cout << " " << v[i]; cout << endl; } ll factorial(ll n) { ll ret = 1; while (n > 1) { ret *= n; n--; } return ret; } void solve() { ll N, M; cin >> N >> M; vector item1(M), item2(M), score(M); rep(i, M) cin >> item1[i] >> item2[i] >> score[i]; vector nums(N); rep(i, N) nums[i] = i; ll ans = 0; rep(i, factorial(N)) { ll sum = 0; rep(j, M) { if (nums[item1[j]] < nums[item2[j]]) sum += score[j]; } ans = max(ans, sum); next_permutation(all(nums)); } outl(ans); } signed main() { cin.tie(0); ios::sync_with_stdio(false); srand((unsigned)time(NULL)); fix(12); solve(); }