#include using namespace std; const int N = 310; int dist[N]; int g[N][N]; int n, m; bool st[N]; int prim() { memset(dist, 0x3f, sizeof dist); dist[1] = 0; int res = 0; for (int i = 0; i < n; i++) { int t = -1; for (int j = 1; j <= n; j++) if (!st[j] && (t == -1 || dist[t] > dist[j])) t = j; st[t] = true; res = max(res, dist[t]); // 找出最长,不要累加和 for (int j = 1; j <= n; j++) dist[j] = min(dist[j], g[t][j]); } return res; } int main() { cin >> n >> m; memset(g, 0x3f, sizeof g); while (m--) { int a, b, c; cin >> a >> b >> c; g[a][b] = g[b][a] = min(g[a][b], c); } printf("%d %d\n", n - 1, prim()); return 0; }