package test;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
class node {
int x, y, z;
}
public class Main {
static int[] p = new int[100010];
static int n, m;
static LinkedList<node> list = new LinkedList<node>();
static int find(int x){
if(p[x]==x){
return x;
}
else{
int y=find(p[x]);
p[x]=y;
return y;
}
}
static void union_p(int x,int y){
if(x==y){
return ;
}
p[x] = y;
}
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
int x,y,z=0;
n = in.nextInt();
m = in.nextInt();
for(int i=0;i<m;i++){
node node1 = new node();
node1.x=in.nextInt();
node1.y=in.nextInt();
node1.z=in.nextInt();
list.add(node1);
}
Collections.sort(list, new Comparator<node>() {
@Override
public int compare(node n1, node n2) {
if (n1.z >= n2.z) {
return 1;
} else {
return -1;
}
}
});
for(int i=1;i<=n;i++){
p[i]=i;
}
int i = 0;
for(node s:list){
x = s.x;
y = s.y;
z = s.z;
int xf = find(x);
int yf = find(y);
union_p(xf,yf);
if(find(1)==find(n)){
break;
}
}
System.out.println(z);
}
}