#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m,lc[2005],a[2005][2005],vis[2005],ans;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
a[x][y]=z;
a[y][x]=z;
}
memset(lc,63,sizeof(lc));
vis[1]=1;
for(int i=1;i<=n;i++) lc[i]=a[1][i];
for(int i=1;i<=n-1;i++)
{
int k=0;
for(int j=1;j<=n;j++)
if(!vis[j]&&lc[j]<lc[k]) k=j;
vis[k]=1;ans=max(ans,lc[k]);
for(int j=1;j<=n;j++)
if(!vis[j]&&a[k][j]<lc[j]) lc[j]=a[k][j];
}
printf("%d\n",ans);
return 0;
}