#include <bits/stdc++.h>
using namespace std;

int main(){
  int n,m;
  cin >> n >> m;
  int k,p;
  int answer=0;
  vector<int> data_s(n);
  for(int i=0; i<m; i++){
    cin >> k;
    for(int j=0; j<k; j++){
      int s;
      cin >> s;
      s--;
      data_s.at(s) |= 1<<i;
    }
  }
  for(int i=0; i<m; i++){
    int x;
    cin >> x;
    p |= x<<i;
  }
  
  for(int s=0; s<(1<<n); s++){
    int t=0;
    for(int i=0; i<n; i++){
      if(s>>i&1){
        t ^= data_s.at(i);
      }
    }
    
    if(t==p){
      answer++;
    }
  }
  cout << answer << endl;
}