// #pragma GCC optimize ("Ofast") // #pragma GCC optimize ("unroll-loops") // #pragma GCC target ("avx,avx2,fma") #include using std::cin, std::cout, std::cerr; using ll = long long; int main() { std::ios::sync_with_stdio(false); int n; cin >> n; std::vector>> e(n + 1); for(int i = 1; i < n; i ++) { int u, v, w; cin >> u >> v >> w; e[u].push_back({v, w}); e[v].push_back({u, w}); } ll ans = 0; std::vector sz(n + 1); std::function dfs = [&](int x, int p) { sz[x] = 1; for(auto [i, w] : e[x]) if(i != p) { dfs(i, x); sz[x] += sz[i]; ans += ll(w) * sz[i] * (n - sz[i]) * 2; } }; dfs(1, 0); cout << ans << '\n'; }