dfs
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
typedef long long ll;
ll res;
int n;
vector<pair<int , int> >a[N];
void dfs(int t,bool vis[],ll len)
{
if(vis[t]==1) return ;
vis[t]=1;
if(len>res) res=len;
for(auto x:a[t])
{
if(!vis[x.first])
{
dfs(x.first,vis,len+x.second);
}
}
}
int main()
{
cin>>n;
for(int i=0;i<n-1;i++)
{
int x,y,m;
cin>>x>>y>>m;
a[x].push_back({y,m});
a[y].push_back({x,m});
}
for(int i=1;i<n;i++)
{
if(a[i].size()==1)
{
bool vis[N]={0};
dfs(i,vis,0);
}
}
cout<<res;
return 0;
}