#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
using namespace std;

int main(void){
   int N,M;
   cin >> N >> M;
   vector<vector<int>> v(M);
   int k,s;
   for(int i=0;i<M;i++){
       cin >> k;
       for(int j=0;j<k;j++){
           cin >> s;
           v[i].push_back(s);
       }
   }
   
   int p[M];
   
   for(int i=0;i<M;i++){
       cin >> p[i];
   }
   
   int onnum;
   int res=0;
   int cont=0;
   for(int a=0;a<=1;a++){
       for(int b=0;b<=1;b++){
           for(int c=0;c<=1;c++){
               for(int d=0;d<=1;d++){
                   for(int e=0;e<=1;e++){
                       for(int f=0;f<=1;f++){
                           for(int g=0;g<=1;g++){
                               for(int h=0;h<=1;h++){
                                    for(int i=0;i<=1;i++){
                                        for(int j=0;j<=1;j++){
                                            
                                            
                                            bool can = true;
                                            
                                            for(int x=0;x<M;x++){
                                                onnum = 0;
                                                for(int itr:v[x]){
                                                    
                                                    if(a==1){
                                                        if(itr==10) onnum++;
                                                    }
                                                    if(b==1){
                                                        if(itr==9) onnum++;
                                                    }
                                                    if(c==1){
                                                        if(itr==8) onnum++;
                                                    }
                                                    if(d==1){
                                                        if(itr==7) onnum++;
                                                    }
                                                    if(e==1){
                                                        if(itr==6) onnum++;
                                                    }
                                                    if(f==1){
                                                        if(itr==5) onnum++;
                                                    }
                                                    if(g==1){
                                                        if(itr==4) onnum++;
                                                    }
                                                    if(h==1){
                                                        if(itr==3) onnum++;
                                                    }
                                                    if(i==1){
                                                        if(itr==2) onnum++;
                                                    }
                                                    if(j==1){
                                                        if(itr==1) onnum++;
                                                    }
                                                    
                                                }
                                                if(onnum%2 != p[x]){
                                                    can = false;
                                                    break;
                                                }
                                                
                                            }
                                            if(can) res++;
                                            cont++;
                                            
                                            if(cont == pow(2,N)) goto result;
                                        }
                                    }
                               }
                           }
                       }
                   }
               }
           }
       }
   }
   
   result :
   cout << res << endl;
}


Measured memory_bytes: 256