#include using namespace std; using i64=int_fast64_t; using pii=pair; template constexpr T inf=numeric_limits::max() / (T)2; template using minheap=priority_queue,greater>; #define fir first #define sec second #define mkp make_pair #define mkt make_tuple #define emb emplace_back #define all(v) begin(v),end(v) i64 binry(i64 ok, i64 ng, const function &f) { while(abs(ok-ng)>1) { i64 mid=(ok+ng)/2; (f(mid) ? ok : ng) = mid; } return ok; } int n,m; int di[20][20]; int dp[1<<16][17]; signed main() { cin>>n>>m; for(int i=0; i>u>>v>>c; --u,--v; di[v][u]=di[u][v]=max(di[u][v],c); } for(int i=0; i>j&1) continue; for(int k=0; k>k&1) { dp[h|1<