#include #include #include #include #include #include #include #include using namespace std; typedef long long i64; typedef long double ld; typedef pair P; #define rep(i,s,e) for(int i = (s);i <= (e);i++) int n; int m; const int MAX = (1 << 15); int dp[MAX]; int score[20][20]; int main() { cin >> n >> m; rep(i,0,m - 1) { int a,b,s; cin >> a >> b >> s; score[a][b] = s; } rep(i,0,(1 << n) - 1) { rep(j,0,n - 1) { if((1 << j) & i) { int sub = i & ~(1 << j); int res = 0; rep(k,0,n - 1) { if(sub & (1 << k)) { res += score[k][j]; } } dp[i] = max(dp[i] , dp[sub] + res); } } } cout << dp[(1 << n) - 1] << endl; }