#include<bits/stdc++.h>
using namespace std;
int i,j,n,a,m,c,k,l;
int main(){
  cin>>n>>m;
  vector<vector<int>> s(m);
  for(;i<m;i++){
    cin>>k;
    s[i].resize(k);
    for(j=0;j<k;j++){
      cin>>s[i][j];--s[i][j];
    }
  }

  vector<int> p(m);
  for(i=0;i<m;i++)cin>>p[i];

  int ans=0;
  for(i=0;i<(1<<n);i++){
    bool res=true;
    for(j=0;j<m;j++,c=0){
      for(int idx:s[j]){
        if((i>>idx)&1)++c;
      }
      c%=2;
      if(c!=p[j])res=false;
    }
    if(res)++ans;
  }
  cout<<ans;
}