#include using namespace std; int fa[3005], sizes[3005]; int cnt; int get(int x) { return x == fa[x] ? x : get(fa[x]); } void merge(int _u, int _v) { int u = get(_u), v = get(_v); if (u != v) { fa[u] = v; ++cnt; } } int main() { int n, m; while (cin >> n >> m) { memset(sizes, 0, sizeof sizes); cnt = 1; for (int i = 1; i <= n; ++i) { fa[i] = i; } for (int i = 1; i <= m; ++i) { int u, v, w; cin >> u >> v >> w; if (u == v) { continue; } sizes[u] += w; sizes[v] += w; merge(u, v); } if (cnt == n) { int minn = sizes[1]; for (int i = 2; i <= n; ++i) { minn = min(minn, sizes[i]); } cout << minn << '\n'; } else { cout << 0 << '\n'; } } return 0; }