from collections import deque N,M = map(int,input().split()) G = {i:[] for i in range(1,N+1)} for _ in range(M): a,b = map(int,input().split()) G[a].append(b) G[b].append(a) que = deque([1]) dist = [-1]*(N+1) dist[1] = 0 while que: x = que.popleft() for y in G[x]: if dist[y]<0: dist[y] = dist[x]+1 que.append(y) print(dist[N])