from collections import deque n,m=map(int,input().split()) path=[[] for _ in range(n)] for i in range(m): a,b=map(int,input().split()) path[a-1].append(b-1) path[b-1].append(a-1) ans=[10**9]*n ans[0]=0 queue=deque() queue.append(0) while len(queue)!=0: num=queue.popleft() for i in path[num]: if ans[i]>ans[num]+1: ans[i]=ans[num]+1 queue.append(i) if ans[-1]==10**9: print(-1) else: print(ans[-1])