package yukicoder; import java.util.Scanner; import java.util.List; import java.util.ArrayList; public class No1473 { public static class Peek { int d, n; List v; public Peek() { d = 0; n = 0; v = new ArrayList(); } } public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int m = scan.nextInt(); List V = new ArrayList(); for (int i = 0; i < n; i++) { V.add(new Peek()); } for (int i = 0; i < m; i++) { int s = scan.nextInt() - 1; int t = scan.nextInt() - 1; int d = scan.nextInt(); V.get(s).v.add(new Integer[] {t, d}); V.get(t).v.add(new Integer[] {s, d}); } List q = new ArrayList(); for (Integer[] i : V.get(0).v) { q.add(new Integer[] {i[0], i[1], 1}); } while (q.size() > 0) { Integer[] i = q.remove(0); if (V.get(i[0]).d < i[1]) { V.get(i[0]).d = i[1]; V.get(i[0]).n = i[2]; } else if (V.get(i[0]).d == i[1] && V.get(i[0]).n > i[2]) { V.get(i[0]).n = i[2]; } else { continue; } for (Integer[] j : V.get(i[0]).v) { if (j[0] != 0) { q.add(new Integer[] {j[0], Math.min(i[1], j[1]), i[2] + 1}); } } } System.out.println(String.format("%d %d", V.get(n-1).d, V.get(n-1).n)); } }