#include<bits/stdc++.h>
#define MAXN 305
using namespace std;
int p[MAXN],n,cnt,res,m,maxn;
struct edge{int a,b,w;}edges[100005];
int find(int x){
if(p[x]!=x) return p[x]=find(p[x]);
}
bool cmp(edge a, edge b){
return a.w<b.w;
}
int main(){
int k;
cin>>n>>m;
for(int i=1;i<=300;i++) p[i]=i;
for(int i=1;i<=m;i++){
cin>>edges[i].a>>edges[i].b >>edges[i].w;
}
sort(edges+1,edges+m+1,cmp);
cout<<n-1<<' ';
for(int i=1;i<=m;i++){
if(find(edges[i].a)!=find(edges[i].b))
{
p[find(edges[i].a)]=find(edges[i].b);
maxn=edges[i].w;
cnt++;
if(cnt==n-1) break;
}
}
cout<<maxn<<endl;
}
我不李姐