from itertools import product

N, M = map(int, input().split())
k = [0] * M
s = [[0] for _ in range(M)]
for i in range(M):
    k[i], *s[i] = map(int, input().split())
p = list(map(int, input().split()))
a = list(product([0, 1], repeat=N))  # N=3なら000~111までの8個の直積のリスト
print(a)

ans = 0
for c in a:  # スイッチ状態を全てについて調べる
    cnt = 0
    for i in range(M):  # 電球はM個ある
        tmp = 0
        for t in s[i]:  # s[i]には電球iのスイッチ条件
            tmp += c[t - 1]  # s[i]に書かれていたスイッチのOn／offをtmpに足していく．
            # print("tmp : {}".format(tmp))
        if tmp % 2 == p[i]:
            cnt += 1
    if cnt == M:  # 全ての電球が点灯するなら，組み合わせ数に一つ加える
        ans += 1
print(ans)