import sys input = sys.stdin.buffer.readline from collections import deque N, M = map(int, input().split()) A = list(map(int, input().split())) g = [[] for _ in range(N)] deg = [0] * N for _ in range(M): u, v = map(int, input().split()) u -= 1; v -= 1 if A[u] < A[v]: g[u].append(v) deg[v] += 1 elif A[u] > A[v]: g[v].append(u) deg[u] += 1 tps = sorted(range(N), key=lambda x: A[x]) K = int(input()) B = list(map(int, input().split())) C = [0] * N for b in B: C[b - 1] = 1 res = [] for v in tps: if C[v] == 1: for adj in g[v]: C[adj] ^= 1 res.append(v + 1) print(len(res)) print('\n'.join(map(str, res)))