#include<bits/stdc++.h>
using namespace std;
int trie[4*1000005][66],sum[4*1000005],tot1[1000001],tot;
string s;
int getchar(char x){
return x-'0';
}
void insert(){
int len=s.size();
int root=0;
for(int i=0;i<len;i++){
int id=getchar(s[i]);
if(!trie[root][id]){
trie[root][id]=++tot;
}
sum[trie[root][id]]++;
root=trie[root][id];
}
tot1[root]++;
}
int sch(){
int len=s.size();
int root=0,res=0;
for(int i=0;i<len;i++){
int id=getchar(s[i]);
if(!trie[root][id]){
return sum[root];
}
root=trie[root][id];
res+=tot1[root];
}
return res-tot1[root]+sum[root];
}
int main(){
int n,q;
cin>>n>>q;
char a;
for(int i=1;i<=n;i++){
int k;
cin>>k;
s.clear();
for(int i=1;i<=k;i++){
cin>>a;
if(a=='1'){
s+='1';
}
else if(a=='0'){
s+='0';
}
}
insert();
}
for(int i=1;i<=q;i++){
int k;
cin>>k;
s.clear();
for(int i=1;i<=k;i++){
cin>>a;
if(a=='1'){
s+='1';
}
else if(a=='0'){
s+='0';
}
}
cout<<sch()<<endl;
}
}