#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int mod=1001001001;
int main(){
  int n,m;
  cin>>n>>m;
  int k[m];
  int s[m][n];
  for(int i=0;i<m;i++){
    cin>>k[i];
    for(int j=0;j<[k];j++){
      cin>>s[i][j];
      s[i][j]--;
    }
  }
  int p[m];
  for(int i=0;i<m;i++){
    cin>>p[i];
  }
  int sw[n],ans=0,flag=0;
  for(int bit=0;bit<(1<<n);bit++){
    for(int i=0;i<n;i++) sw[i]=0;
    flag=0;
     for(int i=0;i<n;i++){
       if(bit&(1<<i))sw[i]++;
     }
    for(int i=0;i<m;i++){
      int sum=0;
      for(int j=0;j<k[i];j++){
        sum+=sw[s[i]][s[j]];
      }
      if(sum%2!=p[i]){
        flag=1;
        break;
      }
    }
    if(flag=0) ans++;
  }
  cout<<ans<<endl;
  return 0;
}