#include <bits/stdc++.h>
using namespace std;
#define REP(i,n) for(int(i)=0;i<(n);i++)

int main(){
  int n,m,ans=0;cin>>n>>m;
  vector<int> k(m,0),p(m,0);
  vector<vector<int>> s(m,vector<int>(n,0));
  REP(i,m){
    cin>>k[i];
    for(int j=0;j<k[i];j++) cin>>s[i][j];
  }
  REP(i,m) cin>>p[i];
  
  for(int i=0;i<pow(2,n);i++){
    bool flag=1;
    for(int j=0;j<m;j++){
      int on=0;
      for(int l=0;l<k[j];l++) if(i&(1<<(s[j][l]-1))) on++;
      if(on%2!=p[j]) flag=0;
    }
    if(flag) ans++;
  }
  cout<<ans;
}