#include <bits/stdc++.h>
#define int long long
using namespace std;
int inf=5e9+7,vis[105],mi=6e9+7,n,head[100005],cnt=0,dp[10005];
queue<int>q;
struct su{
int nxt,val,to;
};
su edge[100005];
void add(int w,int from,int v){
edge[++cnt].nxt=head[from];
edge[cnt].val=w;
edge[cnt].to=v;
head[from]=cnt;
}
void spfa(int now){
while(!q.empty()){
int x=q.front();
q.pop();
for(int i=head[x];i!=0&&edge[i].to!=0&&x!=0;i=edge[i].nxt){
if(vis[edge[i].to]){
continue;
}
q.push(edge[i].to);
vis[edge[i].to]=1;
dp[edge[i].to]=min(dp[edge[i].to],dp[x]+edge[i].val);
}
}
}
signed main()
{
cin>>n;
for(int i=1;i<=n;i++){
int w,u,v;
cin>>w>>u>>v;
add(w,i,v);
add(w,i,u);
add(w,v,i);
add(w,u,i);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
dp[j]=inf;
vis[j]=0;
}
dp[i]=0;
vis[i]=1;
q.push(i);
spfa(i);
int sum=0;
for(int j=1;j<=n;j++){
sum+=dp[j];
}
mi=min(mi,sum);
}
cout<<mi;
return 0;
}