#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for (int i = (a); i <= (b); ++i)
#define bit(mask, i) (((mask) >> (i)) & 1)
const int maxn = 11;
int n, m;
int cost[maxn][maxn];
int dp[1 << maxn];
signed main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n >> m;
fill(&cost[0][0], &cost[0][0] + maxn*maxn, 1e9);
fill(dp, dp + (1 << maxn), 1e9);
for (int i = 1; i <= m; ++i) {
int u, v, w; cin >> u >> v >> w;
cost[u][v] = cost[v][u] = min(cost[u][v], w);
}
// th co so
FOR(i, 1, n) {
int mask = (1 << (i - 1));
dp[mask] = 0;
}
FOR(mask, 1, (1 << n) - 1) {
FOR(i, 1, n) {
if (bit(mask, i - 1) == 0) continue;
FOR(j, 1, n) {
if (bit(mask, j - 1) == 1) continue;
dp[mask ^ (1 << (j - 1))] = min(dp[mask ^ (1 << (j - 1))], dp[mask] + cost[i][j]);
}
}
}
cout << dp[(1 << n) - 1];
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IgKGludCBpID0gKGEpOyBpIDw9IChiKTsgKytpKQojZGVmaW5lIGJpdChtYXNrLCBpKSAoKChtYXNrKSA+PiAoaSkpICYgMSkKCgpjb25zdCBpbnQgbWF4biA9IDExOwoKCmludCBuLCBtOwppbnQgY29zdFttYXhuXVttYXhuXTsKaW50IGRwWzEgPDwgbWF4bl07CgoKCnNpZ25lZCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICBjaW4gPj4gbiA+PiBtOwoKICAgIGZpbGwoJmNvc3RbMF1bMF0sICZjb3N0WzBdWzBdICsgbWF4biptYXhuLCAxZTkpOwogICAgZmlsbChkcCwgZHAgKyAoMSA8PCBtYXhuKSwgMWU5KTsKCgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgKytpKSB7CiAgICAgICAgaW50IHUsIHYsIHc7IGNpbiA+PiB1ID4+IHYgPj4gdzsKCiAgICAgICAgY29zdFt1XVt2XSA9IGNvc3Rbdl1bdV0gPSBtaW4oY29zdFt1XVt2XSwgdyk7CiAgICB9CgogICAgLy8gdGggY28gc28KICAgIEZPUihpLCAxLCBuKSB7CiAgICAgICAgaW50IG1hc2sgPSAoMSA8PCAoaSAtIDEpKTsKICAgICAgICBkcFttYXNrXSA9IDA7CiAgICB9CgoKICAgIEZPUihtYXNrLCAxLCAoMSA8PCBuKSAtIDEpIHsKICAgICAgICBGT1IoaSwgMSwgbikgewogICAgICAgICAgICBpZiAoYml0KG1hc2ssIGkgLSAxKSA9PSAwKSBjb250aW51ZTsKCiAgICAgICAgICAgIEZPUihqLCAxLCBuKSB7CiAgICAgICAgICAgICAgICBpZiAoYml0KG1hc2ssIGogLSAxKSA9PSAxKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICBkcFttYXNrIF4gKDEgPDwgKGogLSAxKSldID0gbWluKGRwW21hc2sgXiAoMSA8PCAoaiAtIDEpKV0sIGRwW21hc2tdICsgY29zdFtpXVtqXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBkcFsoMSA8PCBuKSAtIDFdOwoKCiAgICByZXR1cm4gMDsKfQ==