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

int main() {
  int n,m;
  cin>>n>>m;
  int k[15],s[15][15],p[15];
  for (int i=0; i<m; i++) {
    cin>>k[i];
    for (int j=0; j<k[i]; j++) {
      cin>>s[i][j];
      s[i][j]--;
    }
  }
  for (int i=0; i<m; i++) cin>>p[i];
  int ans=0;
  for (int bit=0; bit<(1<<n); bit++) {
    bool flag=true;
    for (int i=0; i<m; i++) {
      int cnt=0;
      for (int j=0; j<k[i]; j++) {
	if (bit&(1<<s[i][j])) cnt++;
      }
      if (cnt%2!=p[i]) {
	flag=false;
      }
    }
    if (flag) ans++;
  }
  cout<<ans<<endl;
  return 0;
}
