using System;
using System.Numerics;
using System.Linq;
using System.Collections.Generic;
using System.Text;

namespace debug
{
    class ProgramD
    {
        static void Main(string[] args)
        {
            string[] t = Console.ReadLine().Split(' ');
            int n = int.Parse(t[0]);
            int m = int.Parse(t[1]);

            //スイッチがそれぞれオンオフを考える
            int[,] sw = new int[m,n];
            int[] power = new int[m];
            int[] count = new int[m];
            int ans = 0;

            //スイッチを押すと反応する電球を記憶
            for (int i = 0; i < m; i++)
            {
                string[] s = Console.ReadLine().Split(' ');
                for(int j = 0; j < int.Parse(s[0]);j++)
                    sw[i, int.Parse(s[j + 1]) - 1] = 1;
                
            }

            //最後のオンオフの条件も記録
            string[] u = Console.ReadLine().Split(' ');
            for (int i = 0; i < m; i++)
                power[i] = int.Parse(u[i]);


            //ビット全探索
            for (int i = 0; i < (n << 1);i++)
            {
                //まずはオンオフでオンしている数を数える
                for(int j = 0; j < n;j++)
                {
                    if(((i >> j) & 1) == 1)
                    {
                        for(int k = 0;k < m;k++)
                        {
                            if (sw[k, j] == 1)
                                count[k]++;
                        }

                    }
                }

                //もし一つでもオン状態がなければアウト
                for(int j = 0;j < m;j++)
                {
                    if (count[j] % 2 != power[j])
                        break;

                    if (j == m - 1)
                        ans++;

                }

                for(int j = 0; j < m;j++)
                    count[j] = 0;
            }

            Console.WriteLine(ans);
            return;
        }
    }

}
