N = int(input()) M = (N*(N-1))//2 A = [list(map(int,input().split())) for _ in range(M)] T = [[i,0] for i in range(N+1)] def find(x): if T[x][0]==x: return x return find(T[x][0]) def unite(x,y): rx = find(x) ry = find(y) if rx==ry: return if T[rx][1]>T[ry][1]: T[ry][0] = rx elif T[rx][1]1: mid = (high+low)//2 cost = 0 cnt = 0 T = [[i,0] for i in range(N+1)] for i in range(M): a,b,c = A[i] if c>mid:break ra = find(a) rb = find(b) if ra!=rb: unite(ra,rb) cost += c cnt += 1 if cnt==N-1:break if cnt