n, m=map(int, input().split())
lamp=[]
cnt=0
check=0
pat=0 #パターンが何個あるか
for i in range(m):
  lamp.append(list(map(int, input().split())))
rema=list(map(int, input().split()))
for i in range(2 ** n):
  
  bag = []
  for j in range(n):  
    if ((i >> j) & 1):
      bag.append(1)  
    else:
      bag.append(0)
      #ここまででスイッチの状態が確定
  check=0
  for x in range(m): # lamp を１－Mまでチェック
    cnt==0
    for y in range(lamp[x][0]): #Lampのスイッチの条件を１から最後まであらう）
      if bag[lamp[x][y+1]-1]==1:
        cnt+=1
    if cnt%2==rema[x]:
      check+=1
  if check==m:
    pat+=1
print(pat)
    
  
   
    
      
        
    
