N,M = map(int, input().split()) L = [[] for i in range(N+1)] for i in range(M): a,b = map(int, input().split()) L[b].append(a) L[a].append(b) PASS = [False]*(N+1) def dfs(p,cnt): if p==N: print(cnt) exit() if PASS[p]==False: PASS[p]=True for n in L[p]: dfs(n,cnt+1) dfs(1,0) print(-1)