from collections import defaultdict, deque def main(): n, m = map(int, input().split()) s, g = map(int, input().split()) edge = defaultdict(list) for _ in range(m): fr, to = map(int, input().split()) edge[fr].append(to) edge[to].append(fr) _ = int(input()) island = list(map(int, input().split())) for i in island: edge[i].clear() visited = [False] * (n + 1) visited[s] = True q = deque() q.append(s) while q: cur = q.popleft() for x in edge[cur]: if not visited[x]: visited[x] = True q.append(x) if visited[g]: print('Yes') else: print('No') if __name__ == "__main__": main()