#include<iostream>
using namespace std;
int main(){
int n,;
  cin>>n>>m;
  int k[m],a[m][10];
  for(int i=0;i<m;i++){
      cin>>k[m];
    for(int j=0;j<k[i];i++){
      cin>>a[i][j];
    }
  }
  int p[m],ans=0;
  for(int i=0;i<m;i++) cin>>p[i];
  for(int bit=0;bit<(1<<n);bit++){
     int light=0;
     for(int i=0;i<m;i++){
       int cnt=0;
       for(int j=0;j<a[i][j]-1;j++){
       if(bit&(1<<s[i][j]-1)) cnt++;
     }
if(p[i]==0&&(cnt%2==0)) light++;
       if(p[i]==1&&(cnt%2==1)) light++;
     }
if(light==m) ans++;
  }
  cout<<ans<<endl;
  return 0;
}