RT
#include<bits/stdc++.h>
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#define ll long long
using namespace std;
int n,T,ss[40010];
struct a1{
int a,b,xx;
void a3(){
cin>>a>>b>>xx;
}
}s[100010];
bool a2(a1 x,a1 y){
return x.xx>y.xx;
}
int a4(int x){
if(x==ss[x])
return x;
ss[x]=a4(ss[x]);
return ss[x];
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>T;
for(int i=1;i<=n;ss[i]=i,ss[n+i]=n+i,i++);
for(int i=1;i<=T;s[i].a3(),i++);
sort(s+1,s+T+1,a2);
for(int i=1;i<=T;i++){
int aa=a4(s[i].a),bb=a4(s[i].b),aaa=a4(s[i].a+n),bbb=a4(s[i].b+n);
if(aa==bb){
cout<<s[i].xx;
return 0;
}
ss[aa]=bbb;
ss[bb]=aaa;
}
cout<<"0";
return 0;
}