n, m = map(int, input().split()) G = [[] for i in range(n)] for _ in range(m): a, b = map(int, input().split()) a -= 1; b -= 1 G[a].append(b) G[b].append(a) from collections import deque Q = deque([0]) dist = [-1] * n dist[0] = 0 while Q: now = Q.popleft() for nex in G[now]: if dist[nex] == -1: dist[nex] = dist[now] + 1 Q.append(nex) print(dist[-1])