# n個のスイッチ
# m個の電球

n,m = map(int,input().split())
a = [list(map(int,input().split())) for _ in range(m)]
p = list(map(int,input().split()))

#n,m = 2,2
#a = [[2,1,2],[1,2]]
#p = [0,1]

ans = 0
for i in range(0,2**n): #スイッチの組み合わせを生成
  ck = True
  for j in range(0,m): #j番目の電球が付くかを確認
    # a[j][0]つながっているスイッチの数
    count = 0
    for k in range(0,a[j][0]):
      count += (i >> k) & 1
    if count%2 != p[j]:
      ck = False
      break
  if ck:
    ans += 1
print(ans)
