#include<bits/stdc++.h>
using namespace std;
const int inf=3000005;
int ch[inf][65],tag[inf],cnt;
int c(char x){
if('A'<=x&&x<='Z')
return x-'A';
else if('a'<=x&&x<='z')
return x-'a'+26;
else
return x-'0'+52;
}
void ins(string &s){
int u=0;
for(int i=0;i<s.length();i++){
int id=c(s[i]);
if(!ch[u][id])
ch[u][id]=++cnt;
u=ch[u][id];
tag[u]++;
}
}
int qry(string &s){
int u=0;
for(int i=0;i<s.length();i++){
int id=c(s[i]);
if(!ch[u][id])
return 0;
u=ch[u][id];
}
return tag[u];
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n,m,t;
cin>>t;
while(t--){
for(int i=1;i<=n;i++)
for(int j=1;j<=63;j++)
ch[i][j]=0;
for(int i=1;i<=n;i++)
tag[i]=0;
cin>>n>>m;
for(int i=1;i<=n;i++){
string s;
cin>>s;
ins(s);
}
for(int i=1;i<=m;i++){
string s;
cin>>s;
cout<<qry(s)<<'\n';
}
}
return 0;
}