N,M=map(int,input().split())
k=[list(map(int,input().split())) for _ in range(M)] 
*p,=map(int,input().split())
t=0
a=0
for i in range(2 ** N): # 点灯しているスイッチ
    t=0
    for j in range(M): # それぞれの電球
        #print(k[j][0],k[j][1:],p[j])
        o=sum(1 for h in k[j][1:] if i>>(h-1)&1) # onしているスイッチの個数
        #print('{:05b}'.format(i),j+1,o)
        if o%2==p[j]:
            t+=1
    if t==M:
        a+=1
print(a) N,M=map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M list(map(int,input().split())) for _ in range(M) for _ in range(M) _ range(M) range M for _ in range(M) list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split k=[list(map(int,input().split())) for _ in range(M)] k [list(map(int,input().split())) for _ in range(M)] *p,=map(int,input().split()) *p p map(int,input().split()) map int input().split() ().split () input split t=0 t 0 a=0 a 0 for i in range(2 ** N): # 点灯しているスイッチ
    t=0
    for j in range(M): # それぞれの電球
        #print(k[j][0],k[j][1:],p[j])
        o=sum(1 for h in k[j][1:] if i>>(h-1)&1) # onしているスイッチの個数
        #print('{:05b}'.format(i),j+1,o)
        if o%2==p[j]:
            t+=1
    if t==M:
        a+=1 i range(2 ** N) range 2 ** N 2 N t=0 t 0 for j in range(M): # それぞれの電球
        #print(k[j][0],k[j][1:],p[j])
        o=sum(1 for h in k[j][1:] if i>>(h-1)&1) # onしているスイッチの個数
        #print('{:05b}'.format(i),j+1,o)
        if o%2==p[j]:
            t+=1
     j range(M) range M o=sum(1 for h in k[j][1:] if i>>(h-1)&1) o sum(1 for h in k[j][1:] if i>>(h-1)&1) sum 1 if o%2==p[j]:
            t+=1
     o%2==p[j] o%2 o 2 p[j] p j t+=1 t 1 if t==M:
        a+=1 t==M t M a+=1 a 1 print(a) print a o=sum(1 for h in k[j][1:] if i>>(h-1)&1) sum(1 for h in k[j][1:] if i>>(h-1)&1) o k=[list(map(int,input().split())) for _ in range(M)] [list(map(int,input().split())) for _ in range(M)] k a=0 0 a N,M=map(int,input().split()) map(int,input().split()) N t+=1 1 t t=0 0 t t=0 0 t M=map(int,input().split()) map(int,input().split()) M a+=1 1 a
N,M=map(int,input().split())
k=[list(map(int,input().split())) for _ in range(M)] 
*p,=map(int,input().split())
t=0
a=0
for i in range(2 ** N): # 点灯しているスイッチ
    t=0
    for j in range(M): # それぞれの電球
        #print(k[j][0],k[j][1:],p[j])
        o=sum(1 for h in k[j][1:] if i>>(h-1)&1) # onしているスイッチの個数
        #print('{:05b}'.format(i),j+1,o)
        if o%2==p[j]:
            t+=1
    if t==M:
        a+=1
print(a)