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

for i in range(2**n): # bitで全状態を列挙
    for j in range(m): # あるスイッチ状態における各電球のONOFFを探索する
        count = 0
        for k in range(n):
            if (i >> j) & 1 and (k+1) in l[j][1:]: 
                # j番目の電球にスイッチkがつながっていたらcountを追加
                count += 1
        if count % 2 != p[j]:
            break
        if j == m-1: ans += 1
print(ans)
