from collections import deque
n = int(input())
adj = [[] for _ in range(n+1)]
dist = [0] * (n+1)
me, you = map(int, input().split())
m = int(input())
for _ in range(m):
u, v = map(int, input().split())
adj[u].append(v)
adj[v].append(u)
def bfs():
q = deque()
q.append(me)
while q:
now = q.popleft()
if now == you:
return dist[now]
for u in adj[now]:
if dist[u] == 0:
q.append(u)
dist[u] = dist[now] + 1
return -1
print(bfs())