#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,n) for(int i = 0;i=0;i--) #define ALL(a) a.begin(),a.end() template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } typedef long long ll; typedef long double ld; const ll mod = 1e9 + 7; const ll MOD = 998244353; int main() { int n,f,t,s,m; cin >> n>>m;vector> a(n,vector(n,0)); rep(i, m) { cin >> f >> t >> s; a[t][f] = s; } vector dp(1 << n, -1e9); dp[0] = 0; rep(bit, 1 << n) { rep(j, n) { if (!(bit >> j & 1)) { int sum = 0; rep(k, n) { if (bit >> k & 1) { sum += a[j][k]; } }chmax(dp[bit | (1 << j)], dp[bit] + sum); } } }cout << dp[(1 << n)-1] << endl; }