#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, ii, j, k = 0;
  int n, m;
  int a, b, c;
  int flag = 0;
  int ans = 0;
  std::cin >> n >> m;
  int s[m][n];
  int p[m];
  for (i = 0; i < m; i++) {
    std::cin >> k;
    for (j = 0; j < k; j++) {
      std::cin >> a;
      s[i][a] = 1;
    }
  }
  for (i = 0; i < m; i++) std::cin >> p[i];
  for (int bit = 0; bit < (1 << n); ++bit) {
    int S[n];
    for (i = 0; i < n; i++) {
      if (bit & (1 << i)) {
        S[i] = 1;
        flag = 0;
        for (j = 0; j < m; j++) {
          int sum = 0;
          for (ii = 0; ii < n; ii++) {
            sum += S[ii] * s[j][ii];
          }
          if (sum % 2 != p[j]) {
            flag++;
            break;
          }
        }
        if (flag == 0) ans++;
      }
    }
  }
  std::cout << ans << std::endl;
}
