from collections import defaultdict import sys sys.setrecursionlimit(10**6) # dfs to dfs で最長距離を求める n = int(input()) graph = defaultdict(list) for _ in range(n - 1): u, v, w = map(int, input().split()) graph[u].append((v, w)) graph[v].append((u, w)) def dfs(node, parent): far_node = node max_dist = -float("inf") for neighbor, weight in graph[node]: if neighbor == parent: continue n_node, n_dist = dfs(neighbor, node) n_dist += weight if n_dist > max_dist: max_dist = n_dist far_node = n_node return far_node, max_dist if max_dist != -float("inf") else 0 u, _ = dfs(1, -1) v, diameter = dfs(u, -1) print(diameter)