#1AC后全WA,已知#2答案少了
#include<bits/stdc++.h>
using namespace std;
int father[1000005];
struct node{
int u,v,cnt;
}a[100005];
bool cmp(node a,node b){
return a.cnt>b.cnt;
}
int find(int x){
if(father[x]!=x)father[x]=find(father[x]);
return father[x];
}
int main(){
// freopen("1.in","r",stdin);
int n,m;
cin>>n>>m;
for(int i=1;i<=n*2;i++)father[i]=i;
for(int i=1;i<=m;i++){
cin>>a[i].u>>a[i].v>>a[i].cnt;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=m;i++){
int fu=find(a[i].u),fv=find(a[i].v),ffu=find(a[i].u+n),ffv=find(a[i].v+n);
if(fu==fv){
cout<<a[i].cnt;
return 0;
}
father[fu]=ffv;
father[ffu]=fv;
}
cout<<0;
return 0;
}
//4 4
//1 2 100000
//3 4 100000
//1 3 2
//2 4 1