import sys sys.setrecursionlimit(200050) N = int(input()) E = [[] for _ in range(N)] for _ in range(N-1): u, v, w = map(int,input().split()) u -= 1 v -= 1 E[u].append((v,w)) E[v].append((u,w)) INF = - 10 ** 10 dp = [INF] * N def dfs(x, p = -1): ret = [0] for y,w in E[x]: if y != p: ret.append(w + dfs(y,x)) ret.sort(reverse = True) if len(ret) == 1: dp[x] = ret[0] else: dp[x] = sum(ret[:2]) return ret[0] dfs(0) print(max(dp))