#include<bits/stdc++.h>
using namespace std;
struct in{
int start,end_point,time;
}line[200010];
int cmp(in a,in b)
{
return a.time<b.time;
}
int father[200010];
int fatherfind(int k)
{
if(father[k]==k)
return k;
else father[k]=fatherfind(father[k]);
}
int main()
{
//freopen("test.txt","r",stdin);
int town,linenum;
cin>>town>>linenum;
for(int m=1;m<=linenum;m++)
cin>>line[m].start>>line[m].end_point>>line[m].time;
sort(line+1,line+linenum+1,cmp);
//printf("%d,%d,%d,%d\n",line[1].time,line[2].time,line[3].time,line[4].time);
for(int m=1;m<=town;m++)
father[m]=m;
for(int m=1;m<=linenum;m++)
{
int a=fatherfind(line[m].start);
int b=fatherfind(line[m].end_point);
if(a!=b)
{
father[a]=b;
town--;
}
if(town==1)
{
printf("%d",line[m].time);
return 0;
}
printf("%d,town:%d\n",m,town);
}
printf("-1");
return 0;
}