#include <bits/stdc++.h>
using namespace std;
int n,m,cnt,ans;
int f[100005];
int fi(int x){
if(f[x]==x){
return x;
}else{
f[x]=fi(f[x]);
return f[x];
}
}
void h(int x,int y){
x = fi(x);
y = fi(y);
f[x]=y;
return;
}
struct d{
int u,v,b;
}de[200005];
int cmp(d x,d y){
return x.b>y.b;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) f[i]=i;
for(int i=1;i<=m;i++){
cin>>de[i].u>>de[i].v>>de[i].b;
}
sort(de+1,de+m+1,cmp);
for(int i=1;i<=m;i++){
int u=de[i].u;int v=de[i].v;
if(fi(u)==fi(v)){
cout<<de[i].b;
return 0;
}
h(u,v);
}
return 0;
}