import queue N,M,P=map(int,input().split()) S,G=map(int,input().split()) g=[[] for _ in range(N+1)] for i in range(M): u,v=map(int,input().split()) g[u].append(v) g[v].append(u) def bfs(src): dist=[[10**20]*(N+1) for _ in range(2)] vis=[[False]*(N+1) for _ in range(2)] dist[0][src]=0 q=queue.Queue() q.put(src) while not q.empty(): cur=q.get() for dst in g[cur]: for i in range(2): nd=dist[i][cur]+1 if nd