#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[maxn][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[0][0], &dp[0][0] + (maxn)*(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[i][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;
int next_mask = mask | (1 << (j - 1));
dp[j][next_mask] = min(dp[j][next_mask], dp[i][mask] + cost[i][j]);
}
}
}
int res = 1e9;
for (int i = 1; i <= n; ++i) {
res = min(res, dp[i][(1 << n) - 1]);
}
cout << res;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IgKGludCBpID0gKGEpOyBpIDw9IChiKTsgKytpKQojZGVmaW5lIGJpdChtYXNrLCBpKSAoKChtYXNrKSA+PiAoaSkpICYgMSkKCgpjb25zdCBpbnQgbWF4biA9IDExOwoKCmludCBuLCBtOwppbnQgY29zdFttYXhuXVttYXhuXTsKaW50IGRwW21heG5dWzEgPDwgbWF4bl07CgoKCnNpZ25lZCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICBjaW4gPj4gbiA+PiBtOwoKICAgIGZpbGwoJmNvc3RbMF1bMF0sICZjb3N0WzBdWzBdICsgbWF4biptYXhuLCAxZTkpOwogICAgZmlsbCgmZHBbMF1bMF0sICZkcFswXVswXSArIChtYXhuKSooMSA8PCBtYXhuKSwgMWU5KTsKCgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgKytpKSB7CiAgICAgICAgaW50IHUsIHYsIHc7IGNpbiA+PiB1ID4+IHYgPj4gdzsKCiAgICAgICAgY29zdFt1XVt2XSA9IGNvc3Rbdl1bdV0gPSBtaW4oY29zdFt1XVt2XSwgdyk7CiAgICB9CgoKICAgIC8vIHRoIGNvIHNvCiAgICBGT1IoaSwgMSwgbikgewogICAgICAgIGludCBtYXNrID0gKDEgPDwgKGkgLSAxKSk7CiAgICAgICAgZHBbaV1bbWFza10gPSAwOwogICAgfQoKCgogICAgRk9SKG1hc2ssIDEsICgxIDw8IG4pIC0gMSkgewogICAgICAgIEZPUihpLCAxLCBuKSB7CiAgICAgICAgICAgIGlmIChiaXQobWFzaywgaSAtIDEpID09IDApIGNvbnRpbnVlOwoKICAgICAgICAgICAgRk9SKGosIDEsIG4pIHsKICAgICAgICAgICAgICAgIGlmIChiaXQobWFzaywgaiAtIDEpID09IDEpIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgIGludCBuZXh0X21hc2sgPSBtYXNrIHwgKDEgPDwgKGogLSAxKSk7CiAgICAgICAgICAgICAgICBkcFtqXVtuZXh0X21hc2tdID0gbWluKGRwW2pdW25leHRfbWFza10sIGRwW2ldW21hc2tdICsgY29zdFtpXVtqXSk7CgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKCgogICAgaW50IHJlcyA9IDFlOTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIHJlcyA9IG1pbihyZXMsIGRwW2ldWygxIDw8IG4pIC0gMV0pOwogICAgfQoKICAgIGNvdXQgPDwgcmVzOwoKCiAgICByZXR1cm4gMDsKfQ==