题号:NC50345
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld
题目描述
贝茜正在领导奶牛们逃跑。为了联络,奶牛们互相发送秘密信息。
信息是二进制的,共有M条。反间谍能力很强的约翰已经部分拦截了这些信息,知道了第i条二进制信息的前

位。他同时知道,奶牛使用N条密码。但是,他仅仅了解第j条密码的前

位。
对于每条密码j,他想知道有多少截得的信息能够和它匹配。也就是说,有多少信息和这条密码有着相同的前缀。当然,这个前缀长度必须等于密码和那条信息长度的较小者。
输入描述:
第一行输入N和M,之后N行描述秘密信息,之后M行描述密码.每行先输入一个整数表示信息或密码的长度,之后输入这个信息或密码。
所有数字之间都用空格隔开。
输出描述:
共M行,输出每条密码的匹配信息数。
示例1
输入
复制
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
说明
4条信息,5条密码
截获的信息前缀是010,1,100,110,可能的密码前缀是0,1,01,01001,11。
0只配对010;
1配对1,100,110;
01只配对010;
01001配对010;
11配对1,110。
备注:
对于
的数据,
,位的总数即
不会超过500000。