import sys input = sys.stdin.readline from collections import * def bfs(x): dist = [-1]*n dist[0] = 0 q = deque([0]) while q: v = q.popleft() for nv, d in G[v]: if x<=d and dist[nv]==-1: dist[nv] = dist[v]+1 q.append(nv) return dist[-1] def binary_search(): l, r = 0, 10**10 while l<=r: m = (l+r)//2 if bfs(m)>=0: l = m+1 else: r = m-1 return r n, m = map(int, input().split()) G = [[] for _ in range(n)] for _ in range(m): s, t, d = map(int, input().split()) G[s-1].append((t-1, d)) G[t-1].append((s-1, d)) w = binary_search() print(w, bfs(w))