def dist(g: list[list[int]], s: int) -> tuple[list[int], list[int]]: n = len(g) visited = [False] * n visited[s] = True d = [0] * n stk = [(s, 0)] while stk: v, p = stk.pop() for nv, q in g[v]: if not visited[nv]: visited[nv] = True d[nv] = p + q stk.append((nv, p + q)) return d N = int(input()) G = [[] for _ in range(N)] for _ in range(N - 1): a, b, c = map(int, input().split()) G[a - 1].append((b - 1, c)) G[b - 1].append((a - 1, c)) dists = dist(G, 0) print(max(dist(G, dists.index(max(dists)))))