n,m=map(int,input().split())
a=[[0 for h in range(n)] for i in range(2**n)]
b=[[0 for i in range(m)] for h in range(2**n)]
#0~2**n-1を2進数表記し、リストaに記録する(各位の10はスイッチのonoffに対応)
for i in range(2**n):
  b=i
  for j in range(n):
    c=b//(2**(n-j-1))
    a[i][j]+=c
    b-=c*(2**(n-j-1))
print(a)
#それぞれの数について、電球が点灯するかどうかを検証する（各位が電球の点灯する条件を満たしているか）
for i in range(m):
  for j in range(2**n):
    lights=list(map(int,input().split()))
    for h in range(len(lights)-1):
      b[j][i]+=a[j][lights[h+1]-1]
check=list(map(int,input().split()))
#検証パート
ans=0
for i in range(2**n):
  flag=0
  for j in range(m):
    if b[i][j]%2!=check[j]:
      flag=1
      break
  if flag==0:
    ans+=1
print(ans)