N,M=map(int,input().split()) from heapq import * G=[[] for i in range(N)] D=[0]*N INF=10**17 def ijk(s): global D,INF,G for i in range(len(G)): D[i]=INF D[s]=0 Q=[] heapify(Q) heappush(Q,(0,s)) p,v,e=0,0,0 while len(Q): p=heappop(Q) v=p[1] if D[v]D[v]+e[1]: D[e[0]]=D[v]+e[1] heappush(Q,(D[e[0]],e[0])) for i in range(M): a,b=map(int,input().split()) a-=1 b-=1 G[a].append((b,1)) G[b].append((a,1)) ijk(0) if D[-1]