#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200005;
vector< pair<int, int> > G[MAXN];
long long dp1[MAXN], dp2[MAXN], ans, d;
inline void add(int u, int v, int w)
{
G[u].push_back(make_pair(v, w));
}
inline void dfs(int u, int fa) {
for (auto &it : G[u]) {
if (fa == it.first) continue;
dfs(it.first, u);
if (dp1[u] < dp1[it.first] + it.second) {
dp2[u] = dp1[u]; //dp2[u] 到u点第二长的线的长度
dp1[u] = dp1[it.first] + it.second;
}
else dp2[u] = max(dp2[u], dp1[it.first] + it.second);
}
d = max(d, dp1[u] + dp2[u]); //求最长的线
}
int main()
{
int n;
scanf("%d", &n);
for (int i = 1; i < n; ++i)
{
int u, v, w;
scanf("%d%d%d", &u, &v, &w);
add(u, v, w), add(v, u, w);
ans += w << 1;
}
dfs(1, 0);
cout << ans - d;
return 0;
}