N = int(input()) connected = [[] for _ in range(N)] for i in range(N-1): a,b,w = map(int,input().split()) a -= 1 b -= 1 connected[a].append((b,w)) connected[b].append((a,w)) dist = [-1]*N dist[0] = 0 stack = [0] while stack: v = stack.pop() for u,w in connected[v]: if dist[u] == -1: dist[u] = w + dist[v] stack.append(u) Mi = -1 M = -1 for i in range(N): if dist[i] > M: Mi = i M = dist[i] #print(dist) dist_ = [-1]*N dist_[Mi] = 0 stack = [Mi] while stack: v = stack.pop() for u,w in connected[v]: if dist_[u] == -1: dist_[u] = w + dist_[v] stack.append(u) #print(dist_) print(max(dist_))