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

int main(){
  int n,m;
  cin >> n>> m;
  vector<vector<int>> s(m);
  vector<int> k(m);
  vector<int> p(m);
  
  for(int i=0;i<m;i++){
    cin >> k[i];
    s[i].resized(k[i]);
    for(int j =0;j<k[i];j++){
      cin>>s[i][j];
    }
  }
  
  for (int i=0;i<m;i++) cin >> p[i];
  int ans =0;
  for (int bit =0;bit <(1<<n);bit++){
    for(int i=0;i<m;i++){
      int c=0;
      for (int id : s[i]){
        if (1& (id<<bit)){
          c++;
        }
      }
      c%=2;
      if (c==p[i]) ans++;
    }
  }
  
  cout << ans << endl;
  return 0;
}