#include<bits/stdc++.h>
using namespace std;
const int N=1000000000;
int n,ans=N,s[110];
struct Node{
int left,right,father,value;
}t[110];
int jvli(int x,int d){
if(!x||s[x]) return 0;
s[x]=1;
return jvli(t[x].left,d+1)+jvli(t[x].right,d+1)+jvli(t[x].father,d+1)+t[x].value*d;
}
int main(){
cin >> n;
for(int i=1;i<=n;i++) cin >> t[i].value >> t[i].left >> t[i].right;
for(int i=1;i<=n;i++){
t[t[i].left].father=i;
t[t[i].right].father=i;
}
for(int i=1;i<=n;i++){
memset(s,0,sizeof(s));
ans=min(ans,jvli(i,0));
}
cout << ans;
return 0;
}