#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
struct node
{
int adj,num;
node *p;
}
node=*g[30001];
int v[30001],dist[30001];
void spfa(int x)
{
int main()
{
int x,y,z,i,n,m;
int *p;
memset(v,0,sizeof(v));
scanf("%d%d",&n,&m);
for (i=1;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);
p=new(node);p->adj=x;p->num=z;p->next=g[y];g[y]=p;
p=new(node);p->adj=y;p->num=z;p->next=g[x];g[x]=p;
}
spfa(1);
printf("%d\n",dist[n]);
system("pause");
return 0;
}
