N, M = map(int, input().split()) As = list(map(int, input().split())) adj = [[] for _ in range(N)] for _ in range(M): u, v = map(int, input().split()) u -= 1 v -= 1 adj[u].append(v) adj[v].append(u) K = int(input()) on = [False] * N for B in map(int, input().split()): B -= 1 on[B] = True iAs = sorted(enumerate(As), key=lambda t: t[1]) answer = [] for i, A in iAs: if on[i] == True: answer.append(i) for nv in adj[i]: if As[nv] > As[i]: on[nv] = not on[nv] print(len(answer)) print(*[a + 1 for a in answer], sep='\n')