#include #define rep(i,n) for(int i=0;i ; const int INF = 1e9; const int MOD = 1000000007; int n = 200005; vector> tree(n,vector

()); ll ans = 0; ll dfs(int i,int before=-1){ ll cnt = 0; for(P p:tree[i]){ if(p.second == before) continue; ll c = dfs(p.second,i); ans += c * (n - c) * p.first; cnt += c; } return cnt + 1; } int main(){ cin >> n; rep(i,n-1){ int u,v; ll w; cin >> u >> v >> w; --u;--v; tree[u].push_back(P(w,v)); tree[v].push_back(P(w,u)); } dfs(0); ans *= 2; cout << ans << endl; return 0; }