#include using namespace std; int main(){ int N, M; cin >> N >> M; vector A(N); for (int i = 0; i < N; i++){ cin >> A[i]; } vector> E(N); for (int i = 0; i < M; i++){ int u, v; cin >> u >> v; u--; v--; E[u].push_back(v); E[v].push_back(u); } int K; cin >> K; vector B(K); for (int i = 0; i < K; i++){ cin >> B[i]; B[i]--; } vector> P(N); for (int i = 0; i < N; i++){ P[i] = make_pair(A[i], i); } sort(P.begin(), P.end()); vector id(N); for (int i = 0; i < N; i++){ id[i] = P[i].second; } vector c(N, false); for (int i = 0; i < K; i++){ c[B[i]] = true; } vector x; for (int i = 0; i < N; i++){ if (c[id[i]]){ c[id[i]] = false; x.push_back(id[i]); for (int j : E[id[i]]){ if (A[id[i]] < A[j]){ c[j] = !c[j]; } } } } int Z = x.size(); cout << Z << endl; for (int i = 0; i < Z; i++){ cout << x[i] + 1 << endl; } }