#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=100005;
int n,fa[maxn],ans,cnt[maxn];
struct BNS{
int x,y,w;
bool operator<(const BNS &B)const{return w<B.w;}
}a[maxn];
int read(){
int ret=0,f=1;char ch=getchar();
while(!isdigit(ch)) f^=!(ch^'-'),ch=getchar();
while( isdigit(ch)) ret=(ret<<3)+(ret<<1)+(ch&15),ch=getchar();
if(!f) ret=-ret; return ret;
}
int Get(int x){return fa[x]==x?fa[x]:fa[x]=Get(fa[x]);}
signed main(){
n=read();
for(int i=1;i<=n;i++) fa[i]=i,cnt[i]=1;
for(int i=1;i< n;i++) a[i].x=read(),a[i].y=read(),a[i].w=read();
sort(a+1,a+n);
for(int i=1;i< n;i++){
int fx=Get(a[i].x),fy=Get(a[i].y);
ans+=cnt[fx]*cnt[fy]*(a[i].w+1)-1,fa[fx]=fy,cnt[fy]+=cnt[fx];
}printf("%lld\n",ans);
return 0;
}