N = int(input()) edge = [[] for i in range(N)] size = [1 for i in range(N)] for i in range(N-1): u,v,w = map(int,input().split()) u-=1 v-=1 edge[u].append([v,w]) edge[v].append([u,w]) def dfs(f,p): for t,w in edge[f]: if t == p: continue dfs(t,f) if p != -1: size[p] += size[f] dfs(0,-1) ans = 0 for i in range(N): for j,w in edge[i]: M = min(size[i],size[j]) ans += M*(N-M)*w print(ans)