n,m=map(int,input().split()) a=list(map(int,input().split())) l=[list(map(int,input().split())) for i in range(m)] k=int(input()) b=list(map(int,input().split())) connection=[[] for i in range(n)] for i in range(m): if a[l[i][0]-1]<a[l[i][1]-1]: connection[l[i][0]-1].append(l[i][1]-1) if a[l[i][1]-1]<a[l[i][0]-1]: connection[l[i][1]-1].append(l[i][0]-1) L=[0]*n for i in range(k): L[b[i]-1]=1 for i in range(n): a[i]=(a[i],i) a.sort(key=lambda x:x[0]) ct=0 ans=[] for i in range(n): x=a[i][1] if L[x]==1: L[x]=0 ct+=1 ans.append(x) for j in connection[x]: L[j]=1-L[j] if sum(L)!=0: print(-1) exit() print(ct) for i in range(ct): print(ans[i]+1)