#include<bits/stdc++.h>
using namespace std;
int n,m,k[15],s[15][15],p[15];
bool b[15];
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>k[i];
		for(int j=1;j<=k[i];j++)
			cin>>s[i][j];
	}
	for(int i=1;i<=m;i++)
		cin>>p[m];
	int t=1,ans=0;
	for(int i=0;i<n;i++)
		t*=2;
	for(int i=0;i<t;i++){
		int tt=i;
		for(int j=1;j<=n;j++){
			b[j]=tt%2;
			tt/=2;
		}
		bool flag=1;
		for(int j=1;j<=m;j++){
			int cnt=0;
			for(int l=1;l<=k[i];l++){
				cnt+=b[s[j][l]];
			}
			if(cnt%2!=p[j])
				flag=0;
		}
		ans+=flag;
	}
	cout<<ans;
	return 0;
}