#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int n,ans=0;
struct node
{
int t,w;
};
vector<node> map[50001];
int dis[50001];
void DFS(int x,int fa)
{
for(int i=0;i<map[x].size();i++)
{
int to=map[x][i].t;
if(to==fa) continue;
DFS(to,x);
dis[x]=max(dis[x],dis[to]+map[x][i].w);
}
}
main()
{
int i,a,b,c;
cin>>n;
for(i=1;i<n;i++)
{
cin>>a>>b>>c;
ans+=2*c;
map[a].push_back((node){b,c});
map[b].push_back((node){a,c});
}
DFS(1,-1);
cout<<ans-dis[1];
}