#include<bits/stdc++.h>
using namespace std;
int a[100001];
int n,m;
struct qwwe{
int q,w,e;
}b[100010];
int wer(int x)
{
if(a[x]!=x) a[x]=wer(a[x]);
return a[x];
}
void qwe(int x,int y)
{
int fx=wer(x);
int fy=wer(y);
a[fx]=fy;
}
bool comp(qwwe x,qwwe y)
{
return x.w<y.w;
}
bool check()
{
int sum=0;
for(int i=1;i<=n;i++)
{
a[i]=i; sum++;if(sum==2)
{return 0;}
}
return 1;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
a[i]=i;
}
for(int i=1;i<=m;i++)
{
cin>>b[i].e>>b[i].q>>b[i].w;
}
sort(b+1,b+1+m,comp);
for(int i=1;i<=m;i++)
{
qwe(b[i].e,b[i].q);
if(check())
{
printf("%d\n",b[i].w);
return 0;
}
}
cout<<"-1";
return 0;
}