def solve(): N,M=map(int,input().split()) a=[0]*M; b=[0]*M for j in range(M): a[j],b[j]=map(int,input().split()) a[j]-=1; b[j]-=1 c=list(map(int,input().split())) def bit(x,k): return (x>>k)&1 inf=10**9 def calc(F): X={} M=len(F) for S in range(1<