#include<iostream>
#include<vector>
#include<cstdio>
#include<cmath>
using namespace std;
struct abc
{
int ft;
int now;
int w;
int sl;
vector <int> son;
}a[1000002];
long long ans;
long long n=0;
long long dfs(int x,int y)
{
int syg=y;
syg+=a[x].w;
if(ans<syg)
ans=syg;
if(!a[x].sl)
return 0;
for(int i=0;i<=a[x].sl-1;i++)
{
int jb=a[x].son[i];
dfs(jb,syg);
}
}
int main()
{
freopen("kZimeAndGit.in","r",stdin);
freopen("kZimeAndGit.out","w",stdout);
cin>>n;
a[1].w=1;
a[1].ft=1;
a[1].now=1;
for(int i=1;i<=n;i++)
a[i].sl=0;
for(int i=2;i<=n;i++)
{
int t,g,q;
scanf("%d",&t);
scanf("%d",&g);
scanf("%d",&q);
a[g].ft=t;
a[t].son.push_back(g);
a[t].sl++;
a[g].now=g;
a[g].w=q;
ans+=a[g].w;
}
long long gg=ans;
ans=0;
dfs(1,0);
cout<<gg-ans+1;
}