D. 大别墅

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

tt.png

藤藤有非常多的手,所以他同时可以干很多工作,通过他兼职1000份工作,日以继夜的努力,藤藤终于买上了大别墅。

由于藤藤手真的太多了,于是他决定在家里安装很多开关,用于控制大别墅内部的白炽灯。

藤藤大别墅中共有 N 个开关 和 M 个大灯泡。

对于每个大灯泡,藤藤知道 哪些开关按下后会改变其状态,改变状态意味着原来是开着的,按下了就是关掉,原来关掉了的,按下了就会开启。

某天藤藤回家,看到 M 个灯泡有的亮着,有的灭了,藤藤想知道他有多少种按下开关的方式,使得所有的灯泡都亮起来,每个开关最多按1次。

输入格式

第一行两个整数 NM

接下来 M 行,每行第一个数 , 接下来个数,表示第i个 灯泡受到哪些开关控制

接下来一行 M 个 0 或者 1 的数 表示灯泡的状态,0表示灭了,1表示亮着。

输出格式

一行一个整数表示方案数

样例

样例输入 1

2 2
2 1 2
1 2
0 1

样例输出 1

1

样例输入 2

2 3
2 1 2
1 1
1 2
0 0 1

样例输出 2

1

样例解释 2

因为2号开关同时控制着1号灯泡和3号灯泡,因此这里我们没办法同时让1号灯泡和2号灯泡亮着

数据范围与提示

对于 的数据,

对于 的数据,

对于 的数据,