N, M = map(int, input().split()) A = [int(s) for s in input().split()] X = [[] for _ in range(N)] for i in range(M): U, V = map(int, input().split()) U -= 1 V -= 1 if A[U] < A[V]: X[U].append(V) if A[V] < A[U]: X[V].append(U) K = int(input()) B = [int(s) for s in input().split()] L = [False]*N for i in B: L[i - 1] = True F = sorted([(A[i], i) for i in range(N)]) Y = [] for _, i in F: if L[i]: Y.append(i+1) for j in X[i]: L[j] = not L[j] print(len(Y)) for i in range(len(Y)): print(Y[i])