#include<bits/stdc++.h>
using namespace std;
int n,ans=1e9+1;
int f[105],a[105];
bool vis[105];
vector<int> c[105];
int bfs(int x) {
int sum=0;
queue<int> q,q1;
q.push(x),q1.push(0);
vis[x]=1;
while (!q.empty()) {
int t=q.front(),s=q1.front();
q.pop(),q1.pop();
sum+=a[t]*s;
if (vis[f[t]]==0) {
vis[f[t]]=1;
q.push(f[t]),q1.push(s+1);
}
for (int i=0;i<c[t].size();i++){
if (vis[c[t][i]]==0) {
vis[c[t][i]]=1;
q.push(c[t][i]),q1.push(s+1);
}
}
}
return sum;
}
int main() {
cin>>n;
for (int i=1;i<=n;i++) {
int u,x,y;
cin>>u>>x>>y;
f[x]=i;
f[y]=i;
a[i]=u;
if (x!=0) c[i].push_back(x);
if (y!=0) c[i].push_back(y);
}
for (int i=1;i<=n;i++) {
int sum=bfs(i);
ans=min(ans,sum);
for (int j=1;j<=n;j++) vis[j]=0;
}
cout<<ans;
return 0;
}