#include <iostream>
#include <vector>
#include <algorithm>
#include<vector>
#include<string>
using namespace std;
int main() {
 int n,m,i,j,k[10],s[10][10],p[10],data[10]={1,2,4,8,16,32,64,128,256,512};
  int sum=0,d=0;
  bool g;
  cin >> n >> m;
  for (i=0;i<m;i++){
    cin >> k[i];
    for (j=0;j<k[i];j++) cin >> s[i][j];
  }
  for (i=0;i<m;i++) cin >> p[i];
  for (int t=0;t<data[n-1]*2;t++){
    g=true;
    for (i=0;i<m;i++){
      d=0;
      for (j=0;j<k[i];j++) if (t&data[s[i][j]-1]) d++;
      if (d%2!=p[i]){
        g=false;
        break;
      }
    }
    if (g) sum++;
  }
  cout << sum << endl;
  return 0;
