#include<bits/stdc++.h>
using namespace std;
int n,boot,b[101];
struct node{
int l,r,sum;
}a[101];
int bfs(int r,int w)
{
int c[101]={0};
queue<int> q;
q.push(r);
c[r]=0;
while(!q.empty())
{
for(int i=1;i<=n;i++)
{
int g=q.front();
if(a[i].r==g||a[i].l==g)
{
q.push(i);
c[i]=c[g]+1;
if(i==w) return c[i];
}
if(a[g].l!=0||a[g].r!=0)
{
if(a[g].l!=0) q.push(a[g].l),c[a[g].l]=c[g]+1;
if(a[g].r!=0) q.push(a[g].r),c[a[g].r]=c[g]+1;
if(a[g].l==w) return c[a[g].l];
if(a[g].r==w) return c[a[g].r];
}
}
q.pop();
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].sum>>a[i].l>>a[i].r;
}
long long ans=INT_MAX;
for(int i=1;i<=n;i++)
{
long long k=0;
for(int j=1;j<=n;j++)
{
if(i!=j) k+=bfs(j,i)*a[j].sum;
}
ans=min(ans,k);
}
cout<<ans;
}