#S0077. Secret Message G

Secret Message G

题目描述

贝茜正在领导奶牛们逃跑。为了联络,奶牛们互相发送秘密信息。

信息是二进制的,共有 MM1M500001 \le M \le 50000)条,反间谍能力很强的约翰已经部分拦截了这些信息,知道了第 ii 条二进制信息的前 bib_i1bi100001 \le b_i \le 10000)位,他同时知道,奶牛使用 NN1N500001 \le N \le 50000)条暗号。但是,他仅仅知道第 jj 条暗号的前 cjc_j1cj100001 \le c_j \le 10000)位。

对于每条暗号 jj,他想知道有多少截得的信息能够和它匹配。也就是说,有多少信息和这条暗号有着相同的前缀。当然,这个前缀长度必须等于暗号和那条信息长度的较小者。

在输入文件中,位的总数(即 bi+ci\sum b_i + \sum c_i)不会超过 500000500000

阅读题目小提醒:注意 信息暗号 的区别。

输入格式

第一行为两个整数 m,nm,n

2m+12\sim m+1 行,其中第 ii 行的第一个数为 bi1b_{i-1},接下来是 bi1b_{i-1}00 或者 11,代表约翰已经知道的第 i1i-1信息 的前 bi1b_{i-1} 位。

m+2m+n+1m+2\sim m+n+1 行,其中第 ii 行的第一个数为 cim1c_{i-m-1},接下来是 cim1c_{i-m-1}00 或者 11,代表约翰已经知道的第 im1i-m-1暗号 的前 cim1c_{i-m-1} 位。

输出格式

总共 nn 行。第 ii 行为第 ii 条暗号可以和多少截得的信息匹配上。

4 5 
3 0 1 0 
1 1 
3 1 0 0 
3 1 1 0 
1 0 
1 1 
2 0 1 
5 0 1 0 0 1 
2 1 1
1 
3 
1 
1 
2

提示

总共截得四条信息和五条暗号。

截得的信息分别为:{010,1,100,110}\{010,1,100,110\}

截得的暗号分别为:{0,1,01,01001,11}\{0, 1, 01, 01001, 11\}