from os import error
from math import inf
import heapq
n,m=map(int,input().split(" "))
dic=dict()
for i in range(1,m+1):
    u,v,w=map(int,input().split(" "))
    if u not in dic.keys():
        dic[u]=dict()
    if v not in dic.keys():
        dic[v]=dict()
    dic[u][v]=w
    dic[v][u]=w
distance=dict()
for key in dic.keys():
    distance[key]=float('inf')
distance[1]=0
vist=[]
pq=[]
heapq.heappush(pq,(0,1))
while pq:
    d,node=heapq.heappop(pq)
    if node in vist:
        continue
    vist+=[node]
    for neibor,weight in dic[node].items():
        if d+weight<distance[neibor]:
            distance[neibor]=d+weight
            heapq.heappush(pq,(distance[neibor],neibor))
try:
    print(distance[n])
except KeyError as e:
    print(-1)