#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];
}