#include<bits/stdc++.h>
using namespace std;
struct event
{
int a,b,c;
}e[100005];
int n,m;
int f[20005],vis[20005];
bool cmp(event a,event b)
{
return a.c > b.c;
}
int find(int x)
{
if(f[x]==x) return x;
return find(f[x]);
}
int main()
{
scanf("%d%d",&n,&m);
for(int i = 1;i <= n;i ++)
f[i] = i;
for(int i = 1;i <= m;i ++)
scanf("%d%d%d",&e[i].a,&e[i].b,&e[i].c);
sort(e + 1,e + m + 1,cmp);
for(int i = 1;i <= m;i ++)
{
int a = e[i].a,b = e[i].b;
if(find(a) == find(b))
{
cout<<e[i].c;
return 0;
}
if(!vis[a])vis[a] = b;
else
f[find(vis[a])] = b;
if(!vis[b])vis[b] = a;
else
f[find(vis[b])] = a;
}
cout<<0;
return 0;
}
T了4个点,求大佬能帮忙优化一下!