#include<bits/stdc++.h>
#define ll long long
using namespace std;
vector<vector<pair<ll,ll>>> e;
vector<vector<ll>> dp;
void dfs(ll u,ll p){
ll val=-1e18,gain;
dp[u][0]=dp[u][1]=0;
for(auto v:e[u]){
if(v.first==p) continue;
dfs(v.first,u);
dp[u][0]+=max(dp[v.first][1]+v.second,dp[v.first][0]);
dp[u][1]+=max(dp[v.first][1]+v.second,dp[v.first][0]);
gain=dp[v.first][0]+v.second-max(dp[v.first][1]+v.second,dp[v.first][0]);
if(gain>=val) val=gain;
}
if(e[u].size()!=1) dp[u][1]=dp[u][1]+val;
else dp[u][1]=-1e18;
}
int main(void){
ios::sync_with_stdio(0); cin.tie(0);
ll n,i,j,k,q;
cin>>n;
e.resize(n+1);
dp.resize(n+1,vector<ll>(2));
for(i=0 ; i<n-1 ; i++){
cin>>j>>k>>q;
e[j].push_back({k,q});
e[k].push_back({j,q});
}
ll ans=0;
for(i=1 ; i<=n ; i++){
dfs(i,i);
ans=max(ans,dp[i][0]);
}
cout<<ans<<"\n";
return 0;
}