P1364
#include <bits/stdc++.h>
#define int long long
using namespace std;
struct Tree{
int lc,rc,v,fa;
}a[101];
int v[101][101],minn=0x7fffffff;
signed main() {
int n;
cin>>n;
memset(v,0x3f,sizeof(v));
for(int i=1;i<=n;i++){
cin>>a[i].v>>a[i].lc>>a[i].rc;
a[a[i].lc].fa=i;
a[a[i].rc].fa=i;
v[i][i]=0;
}
for(int i=1;i<=n;i++){
v[i][a[i].lc]=a[i].v;
v[i][a[i].rc]=a[i].v;
v[i][a[i].fa]=a[i].v;
}
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
v[i][j]=min(v[i][j],v[i][k]+v[k][j]);
}
}
}
for(int i=1;i<=n;i++){
int s=0;
for(int j=1;j<=n;j++){
if(i!=j){
s+=v[j][i];
}
}
// cout<<s<<" ";
minn=min(minn,s);
}
cout<<minn;
return 0;
}