import sys from collections import deque as dq input = sys.stdin.readline N, M = map(int, input().split()) e = [[] for _ in range(N + 1)] for _ in range(M): u, v, c = map(int, input().split()) e[u].append((v, c)) e[v].append((u, c)) def check(w): Q = dq([1]) dp = [-1] * (N + 1) dp[1] = 0 while len(Q): x = Q.popleft() for y, d in e[x]: if dp[y] != -1: continue if d >= w: dp[y] = dp[x] + 1 Q.append(y) return dp[N] ok = 0 ng = 10 ** 9 + 1 while ng - ok > 1: m = (ok + ng) // 2 if check(m) != -1: ok = m else: ng = m print(ok, check(ok))