from collections import deque from sys import stdin readline = stdin.readline INF = 10 ** 18 n, m = map(int, readline().split()) links = [[] for _ in range(n)] for _ in range(m): s, t, d = map(int, readline().split()) s, t = s - 1, t - 1 links[s].append((t, d)) links[t].append((s, d)) q = deque([(0, INF)]) dp = [(-1, -1) for _ in range(n)] dp[0] = (INF, -1) while q: cp, mw = q.popleft() for np, lw in links[cp]: w = dp[np][0] nw = min(mw, lw) if w >= nw: continue dp[np] = (nw, cp) q.append((np, nw)) c = 0 cp = n - 1 while cp != 0: cp = dp[cp][1] c += 1 print(dp[n - 1][0], c)