M = map(int,input().split()) #N:スイッチ　＃M：電球
#print(N)

light=[]
for i in range(M):
    light.append(list(map(int,input().split())))
#print(light)


p = list(map(int,input().split()))
#print(p)

ans = 0
for i in range(2**N):
    #print("num {}" .format(i), end="")
    sw = [0]*N
    for j in range(N):
        if ((i >>j) & True):
            sw[j]=1

    else:
        pass
        #print(sw)

    #Ans =[]
    On_Light_nmb = 0
    for m in range(M): #電球ごとに判定
        sum = 0
        for k in range(light[m][0]):
            s_nmb = int(light[m][k+1])
            #print(s_nmb)
            #print(sw[s_nmb-1])
            sum += sw[s_nmb-1]

        if sum%2 == p[m]: #電球mのOnスイッチの合計が
            #Ans.append(1)
            On_Light_nmb +=1
            #print('light '+str(m)+' on')
        else:
            pass
            #Ans.append(0)
            #print('light '+str(m)+' off')

    #print('ans:'+str(ans))

    #もしすべてのライトがついていたら
    if On_Light_nmb == m+1:
        ans +=1

print(ans)