n,m=map(int,input().split())

l=[]

for i in range(m):
  l2=list(map(int, input().split()))
  l.append(l2)
  
p=list(map(int, input().split()))
ans=0
for i in range(2**n):#i番目のライトの付け方
  c=bin(i) 
  j=0
  d=bool(True)
  for j in range(m):#電球jについて
    cnt_s=0
    for k in range(1,1+l[j][0]):#スイッチkの状態
      if bin(int(c,2) & int(bin(1<<(l[j][k]-1)),2))=="0b1":
        cnt_s=cnt_s+1
    if cnt_s%2!=p[j]:
      d=False
      print(d)
      
  if d==True:
    ans=ans+1
    j=j+1
  else:
    continue
  
print(ans)