#include<iostream>
#include<algorithm>
#include<cmath>
#include<set>
using namespace std;
int i,j,l,n,m,k[19],s[19][19],p[19],c,f,ans;
int main()
{
	cin>>n>>m;
	for(i=1;i<=m;i++)
	{
		cin>>k[i];
		for(j=1;j<=k[i];j++)
		{
			cin>>s[i][j];
		}
	}
	for(i=1;i<=m;i++)cin>>p[i];
	for(j=0;j<(1<<n);j++)
	{
		c=0;
		for(i=1;i<=m;i++)
		{
			f=0;
			for(l=1;l<=k[i];l++)
			{
				if(j&(1<<(s[i][l]-1)))f^=1;
			}
			if(f==p[i])c++;
		}
		if(c==m)ans++;
	}
	cout<<ans<<endl;
}