for( int i = 1; i <= n; ++ i ) { for( int j = 1; j <= n; ++ j ) { dis[i][j] = i == j ? 0 : inf; } }
for( int i = 1; i <= m; ++ i ) { int u = read( ), v = read( ); ll w = read( ); dis[u][v] = dis[v][u] = min( dis[u][v], w ); }
for( int k = 1; k <= n; ++ k ) { for( int i = 1; i <= n; ++ i ) { for( int j = 1; j <= n; ++ j ) { dis[i][j] = min( dis[i][j], dis[i][k] + dis[k][j] ); } } }
ll ans = inf; for( int u = 1; u <= n; ++ u ) { for( int v = u + 1; v <= n; ++ v ) { ll res = 0; for( int x = 1; x <= n; ++ x ) { for( int y = x + 1; y <= n; ++ y ) { ll d = dis[x][y]; d = min( d, dis[x][u] + dis[v][y] ); d = min( d, dis[x][v] + dis[u][y] ); res += d; } } ans = min( ans, res ); } } printf( "%lld\n", ans ); }