[COCI2016-2017#7] BAZA

题目描述

Mirko 在一家大型的 IT 公司获得了暑期实习的机会。这家公司建造了一个大型数据库,包含 $N$ 行 $M$ 列,第 $i$ 行第 $j$ 列上的整数是 $A_{i,j}$。 在他实习的第一天,他收到了 $Q$ 次询问,每一次询问包含 $M$ 个整数 $B_1,B_2,\dots,B_M$。但不幸的是,有些数在传输的过程中丢失了,数据库将它们替换为 $-1$。Mirko 需要回答数据库中有多少行和询问中的所有数匹配。形式化的说,Mirko 需要回答在范围 $[1,N]$ 内有多少个整数 $i$,满足 $\forall j\in[1,M]$,$B_j=-1$ 或 $B_j=A_{i,j}$。例如,如果 $M=3$,某一次询问为 $-1~3~2$,那么 Mirko 需要找到所有满足第一列为任意整数,第二列为 $3$,第三列为 $2$ 的行数。 Mirko 毕竟是刚开始实习的新人,因此他希望能够得到你的帮助。现在,请你帮助他回答这些询问!

输入输出格式

输入格式


第一行输入两个整数 $N,M$,分别表示数据库的行数和列数。 随后 $N$ 行,每行输入 $M$ 个整数,描述这个数据库。 随后一行输入一个整数 $Q$,表示询问次数。 随后 $Q$ 行,每行输入 $M$ 个整数,描述一次询问。

输出格式


对于每次询问,输出一行一个整数,表示满足要求的行数。

输入输出样例

输入样例 #1

4 3
1 5 2
2 3 4
4 3 2
5 4 6
3
-1 -1 2
-1 3 2
-1 -1 -1

输出样例 #1

2
1
4

输入样例 #2

3 8
6 5 97 99 82 50 95 1
85 62 11 64 94 84 88 19
43 99 11 64 94 84 31 19
3
-1 -1 11 64 94 84 -1 19
-1 -1 -1 99 -1 -1 -1 1
95 -1 -1 -1 -1 80 -1 -1

输出样例 #2

2
1
0

说明

**【样例 1 解释】** 对于第一次询问,第一行和第三行满足询问中第三列是 $2$ 的要求。 对于第二次询问,只有第三行满足询问中第二列是 $3$,第三列是 $2$ 的要求。 对于第三次询问,由于并没有对每一列上的数作出要求,因此所有行都满足要求。 **【数据范围】** 对于所有数据,$1\leqslant N,M\leqslant 10^3$,$1\leqslant Q\leqslant 50$,$1\leqslant A_{i,j}\leqslant 10^6$,$B_j=-1$ 或 $1\leqslant B_j\leqslant 10^6$。 **【题目来源】** 本题来源自 **_[COCI 2016-2017](https://hsin.hr/coci/archive/2016_2017/) [CONTEST 7](https://hsin.hr/coci/archive/2016_2017/contest7_tasks.pdf) T1 BAZA_**,按照原题数据配置,满分 $50$ 分。 由 [Eason_AC](https://www.luogu.com.cn/user/112917) 翻译整理提供。