N, M = map(int, input().split()) L = [0] * N A = list(map(int, input().split())) V = [i for i in range(N)] V.sort(key = lambda x: A[x]) adj = [[] for i in range(N)] for i in range(M): u, v = map(int, input().split()) u -= 1 v -= 1 adj[u].append(v) adj[v].append(u) K = int(input()) B = list(map(int, input().split())) for b in B: L[b - 1] = 1 op = [] for v in V: if L[v] == 0: continue L[v] = 0 op.append(v + 1) for nv in adj[v]: if A[nv] > A[v]: L[nv] ^= 1 if sum(L) != 0: print(-1) else: print(len(op)) print(*op, sep = "\n")