#include <bits/stdc++.h>
#define reu(i,a,b) for (int i=a;i<=b;++i)
#define pb push_back
using namespace std;
struct Edge {
int x, y, c;
Edge(int _x, int _y, int _c): x(_x), y(_y), c(_c) {};
};
const int N=1005;
struct Dsu
{
vector<int> par;
void init(int n)
{
par.resize(n+5,0);
reu(i,1,n+5) par[i]=i;
}
int findi(int x)
{
if (x!=par[x]) return findi(par[x]);
return par[x];
}
bool unionn(int x,int y)
{
x=findi(x); y=findi(y);
if (x==y) return 0;
par[y]=x;
return 1;
}
}dsu;
vector<Edge> v;
int n,m,res=0;
void solve()
{
cin>>n>>m;
reu(i,1,m)
{
int x,y,c;
cin>>x>>y>>c;
v.pb({x,y,c});
}
dsu.init(n);
sort(v.begin(),v.end(),[](Edge &a,Edge &b){return a.c<b.c;});
for(auto e:v)
{
if (!dsu.unionn(e.x,e.y)) continue;
res=max(res,e.c);
}
cout<<res;
return;
}
int main()
{
ios::sync_with_stdio(0); cin.tie(0);
int t=1;
while (t--)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgcmV1KGksYSxiKSBmb3IgKGludCBpPWE7aTw9YjsrK2kpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBFZGdlIHsKICAgIGludCB4LCB5LCBjOwogICAgRWRnZShpbnQgX3gsIGludCBfeSwgaW50IF9jKTogeChfeCksIHkoX3kpLCBjKF9jKSB7fTsKfTsKY29uc3QgaW50IE49MTAwNTsKCnN0cnVjdCBEc3UKewogICB2ZWN0b3I8aW50PiBwYXI7CiAgdm9pZCBpbml0KGludCBuKQogICAgICB7CiAgICAgICAgICBwYXIucmVzaXplKG4rNSwwKTsKICAgICAgICAgcmV1KGksMSxuKzUpIHBhcltpXT1pOwogICAgICB9CiAgICAgaW50IGZpbmRpKGludCB4KQoKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHghPXBhclt4XSkgcmV0dXJuIGZpbmRpKHBhclt4XSk7CiAgICAgICAgICAgICByZXR1cm4gcGFyW3hdOwogICAgICAgICB9CiAgICAgYm9vbCB1bmlvbm4oaW50IHgsaW50IHkpCiAgICAgICAgewogICAgICAgICAgICAgeD1maW5kaSh4KTsgeT1maW5kaSh5KTsKICAgICAgICAgICAgIGlmICh4PT15KSByZXR1cm4gMDsKICAgICAgICAgICAgcGFyW3ldPXg7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KfWRzdTsKIHZlY3RvcjxFZGdlPiB2OwppbnQgbixtLHJlcz0wOwp2b2lkIHNvbHZlKCkKewogICAgY2luPj5uPj5tOwogcmV1KGksMSxtKQogewogICAgIGludCB4LHksYzsKICAgICBjaW4+Png+Pnk+PmM7CiAgICB2LnBiKHt4LHksY30pOwogfQogZHN1LmluaXQobik7CnNvcnQodi5iZWdpbigpLHYuZW5kKCksW10oRWRnZSAmYSxFZGdlICZiKXtyZXR1cm4gYS5jPGIuYzt9KTsKZm9yKGF1dG8gZTp2KQogICAgewogICAgICAgIGlmICghZHN1LnVuaW9ubihlLngsZS55KSkgY29udGludWU7CiAgICAgICAgcmVzPW1heChyZXMsZS5jKTsKICAgIH0KICAgIGNvdXQ8PHJlczsKICAgIHJldHVybjsKfQoKaW50IG1haW4oKQp7CiBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsKIGludCB0PTE7CiB3aGlsZSAodC0tKQogewogICAgIHNvbHZlKCk7CiB9CiAgICByZXR1cm4gMDsKfQ==