#include<bits/stdc++.h>
using namespace std;
int cnt[70],tr[3000001][70],tot;
int cal(char x){
if(x>='A'&&x<='Z')
return x-'A';
else if(x>='a'&&x<='z')
return x-'a'+26;
else
return x-'0'+52;
}
void build(string a){
int u=0,sa=a.size();
for(int i=0;i<sa;i++){
int x=cal(a[i]);
if(!tr[u][x]) tr[u][x]=++tot;
u=tr[u][x];
cnt[u]++;
}
}
int query(string a){
int u=0,sa=a.size();
for(int i=0;i<sa;i++){
int x=cal(a[i]);
if(!tr[u][x]) return 0;
u=tr[u][x];
}
return cnt[u];
}
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int T;
cin>>T;
while(T--){
for(int i=0;i<=tot;i++) for(int j=0;j<=65;j++) tr[i][j]=0;
for(int i=0;i<=tot;i++) cnt[i]=0;
tot=0;
int n,m;
cin>>n>>m;
string a;
for(int i=1;i<=n;i++) cin>>a,build(a);
for(int i=1;i<=m;i++) cin>>a,cout<<query(a)<<'\n';
}
return 0;
}