/*
数据范围很小,用矩阵存图,用Floyed求最短路都飞快……
*/
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a[110],g[110][110],n,le,ri;
int main()
{
memset(g,127/3,sizeof(g));
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
g[i][i]=0;
scanf("%d%d%d",&a[i],&le,&ri);
if(le)g[i][le]=g[le][i]=1;
if(ri)g[i][ri]=g[ri][i]=1;
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
if(i!=k)
for(int j=1;j<=n;j++)
if(i!=j&&j!=k&&g[i][k]+g[k][j]<g[i][j])
g[i][j]=g[i][k]+g[k][j];
int minn=0x7fffffff;
for(int i=1;i<=n;i++)
{
int total=0;
for(int j=1;j<=n;j++)
total+=g[i][j]*a[j];
if(total<minn)minn=total;
}
printf("%d\n",minn);
return 0;
}