1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<algorithm>
5 #include<cmath>
6 using namespace std;
7 struct node{
8 int x,y,v;
9 }a[10000];
10 int n,m;
11 int fa[10000];
12 int cmp(node a,node b)
13 {
14 return a.v<b.v;
15 }
16 int find(int x)
17 {
18 if(fa[x]!=x)
19 {
20 fa[x]=find(fa[x]);
21 return fa[x];
22 }
23 else
24 {
25 return x;
26 }
27 }
28 int main()
29 {
30 cin>>n>>m;
31 for(int i=1;i<=m;i++)
32 {
33 int x,y,v;
34 cin>>x>>y>>v;
35 a[i].x=x;
36 a[i].y=y;
37 a[i].v=v;
38 }
39 for(int i=1;i<=n;i++)
40 {
41 fa[i]=i;
42 }
43 int ans=0;
44 sort(a+1,a+m+1,cmp);
45 for(int i=1;i<=m;i++)
46 {
47 int r=find(a[i].x);
48 int rr=find(a[i].y);
49 if(r!=rr)
50 {
51 fa[r]=rr;
52 ans=max(a[i].v,ans);
53 }
54 }
55 cout<<n-1<<" "<<ans;
56 return 0;
57 }