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

int main() {
  int N,M;
  cin >> N >> M;
  vector<vector<int>>data(M);
  for(int i=0;i<M;i++){
    int L;
    cin >> L;
    for(int j=0;j<L;j++){
      int x;
      cin >> x;
      data.at(i).push_back(x)
    }
  }
  int ans=0;
  for (int tmp = 0; tmp < (1 << N); tmp++) {
    bitset<N> s(tmp);
    for(int j=0;j<M;j++){
      int count=0;
      for(int k=0;k<data.at(j).size();k++){
        if((1<<k)&&s!=0) count++;
      }
      if(count%2==0) ans++;
    }
  }
  cout << ans << endl;
}