#include<iostream>
#include<cstring>
using namespace std ;
int n;
int G[105][105];
int w[105];
bool vis[105];
int ans=INT_MAX;
int dfs(int x,int s){
int sum=w[x]*s;
vis[x]=1;
for(int i=1;i<=n;i++)
if(vis[i]==0 && G[x][i]==1)
sum+=dfs(i,s+1);
return sum;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int weight,r,l;
cin>>weight>>r>>l;
w[i]=weight;
if(r!=0)G[i][r]=G[r][i]=1;
if(l!=0)G[i][l]=G[l][i]=1;
}
for(int i=1;i<=n;i++){
memset(vis,sizeof(vis),0);
ans=min(ans,dfs(i,0));
}
cout<<ans<<endl;
return 0;
}