#include <iostream>
using namespace std;
int n,m;
int f[12],cnt[1<<12],p[12];
int main() {
    for(int i=0;i<1<<12;i++) for(int j=0;j<12;j++) if(i>>j&1) cnt[i]++;
    scanf("%d%d",&n,&m);
    for(int i=0;i<m;i++){
        int k; scanf("%d",&k);
        for(int j=0;j<k;j++){
            int x; scanf("%d",&x); --x;
            f[i]|=1<<x;
        }
    }
    for(int i=0;i<m;i++) scanf("%d",&p[i]);
    int ans=0;
    for(int i=0;i<1<<n;i++){
        bool ok=1;
        for(int j=0;j<m;j++){
            if(cnt[f[j]&i]%2 != p[j]) ok=0;
        }
        if(ok) ans++;
    }
    cout<<ans<<endl;
}