from collections import defaultdict, deque N = int(input()) adj = defaultdict(list) for _ in range(N-1): u, v, w = map(int, input().split()) u -= 1 v -= 1 adj[u].append((v, w)) adj[v].append((u, w)) def tree_dp(v, par): global ans res = [0] for to, w in adj[v]: if to == par: continue d = tree_dp(to, v) + w if d > 0: res.append(d) res.sort() if len(res) > 1: ans = max(ans, res[-1] + res[-2]) return res[-1] ans = 0 tree_dp(0, -1) print(ans)