n, m = map(int, input().split()) a = list(map(lambda x:[int(x), 0], input().split())) g = [[] for _ in range(n)] for i in range(m): u, v = map(int, input().split()) u -= 1 v -= 1 if a[u] > a[v]: g[v].append(u) elif a[v] > a[u]: g[u].append(v) for i in range(n): a[i][1] = i k = int(input()) b = list(map(int, input().split())) t = [0] * n for i in range(k): t[b[i] - 1] = 1 a.sort() res = [] for x, i in a: if t[i] == 1: res.append(i + 1) for node in g[i]: t[node] ^= 1 print(len(res)) for x in res: print(x)