#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v; ll w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-9; int main() { int N, M; cin >> N >> M; vector a(M), b(M), c(M); for (int j = 0; j < M; j++) cin >> a[j] >> b[j] >> c[j]; vector v(N); for (int i = 0; i < N; i++) v[i] = i; int maxi = 0; do { vector< vector > p(N + 1, vector(N + 1)); for (int i = 0; i < N; i++) for (int j = i + 1; j < N; j++) p[v[i]][v[j]] = true; int sum = 0; for (int j = 0; j < M; j++) if (p[a[j]][b[j]]) sum += c[j]; maxi = max(maxi, sum); } while (next_permutation(v.begin(), v.end())); cout << maxi << endl; }