N, M = map(int, input().split())
switches = []

for i in range(M):
    tmp = list(map(int,input().split()))
    tmp.pop(0)
    switches.append(tmp)

R = list(map(int,input().split()))

a = [list(f"{i:0{N}b}") for i in range(2**N)]

ans = 0

for i in a:
    flag = 0
    for j in range(M):
        sum = 0
        for k in switches[j]:
            sum += int(i[k-1])
        if sum%2 != R[j]:
            flag = 1
    if flag == 0:
        ans += 1
print(ans)