def dfs(f1):
for i in graph[f1]:
if visited[i] == 0:
visited[i] = visited[f1] + 1
dfs(i)
n = int(input())
f1,f2=map(int,input().split())
m=int(input())
graph=[[]for _ in range(n+1)]
visited=[0]*(n+1)
for _ in range(m):
a,b=map(int,input().split())
graph[a].append(b)
graph[b].append(a)
dfs(f1)
print(visited[f2] if visited[f2]>0 else -1)