import sys sys.setrecursionlimit(10**6) N = int(input()) G = {i:[] for i in range(1,N+1)} for _ in range(N-1): u,v,w = map(int,input().split()) G[u].append((v,w)) G[v].append((u,w)) dp = [0]*(N+1) Pa = [0]*(N+1) def dfs(v,par): for u,w in G[v]: if u!=par: Pa[u] = v dfs(u,v) dp[v] = max(dp[v],dp[u]+w) dfs(1,0) ans = 0 for v in range(1,N+1): A = [] for u,w in G[v]: if u!=Pa[v]: A.append(max(0,dp[u]+w)) A = sorted(A,reverse=True) if len(A)>1: ans = max(ans,A[0]+A[1]) elif len(A)==1: ans = max(ans,A[0]) print(ans)