class dsu: n = 1 parent_or_size = [-1 for i in range(n)] def __init__(self, N): self.n = N self.parent_or_size = [-1 for i in range(N)] def merge(self, a, b): assert 0 <= a < self.n, "0<=a 0: result2.append(result[i]) return result2 N, M = [int(s) for s in input().split()] edges = [] for _ in range(M): u, v, h = [int(s) for s in input().split()] u, v = u - 1, v - 1 edges.append((h, u, v)) edges.sort(reverse=True) uf = dsu(N) for h, u, v in edges: if not uf.same(u, v): uf.merge(u, v) if uf.same(0, N - 1): print(h) exit() print("NaN")