#include<bits/stdc++.h>
using namespace std;
struct pri{
int x;
int y;
int dis;
}a[200050];
bool cmp(pri a,pri b){
return a.dis>b.dis;
}
int fa[20005],b[20005];
int get(int x){
if(fa[x]==x) return x;
fa[x]=get(fa[x]);
return fa[x];
}
void hb(int p,int q){
int x=get(p);
int y=get(q);
fa[y]=x;
}
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].dis);
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++) fa[i]=i;
for(int i=1;i<=m;i++){
int aa=get(a[i].x);
int bb=get(a[i].y);
if(aa==bb){
cout<<a[i].dis<<endl;
return 0;
}
if(!b[a[i].x]) b[a[i].x]=a[i].y;
else hb(b[a[i].x],a[i].y);
if(!b[a[i].y]) b[a[i].y]=a[i].x;
else hb(b[a[i].y],a[i].x);
}
cout<<0<<endl;
return 0;
}