#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 3e5+10;
ll trie[N][85],tot;
ll sum[N];
string s;
void add() {
ll len=s.size(),p=0;
for(int i=0;i<len;i++) {
ll ch=0;
if(s[i]>='a'&&s[i]<='z') ch=s[i]-'a';
else if(s[i]>='A'&&s[i]<='Z') ch=s[i]-'A'+26;
else ch=s[i]-'0'+52;
if(!trie[p][ch]) {
trie[p][ch]=++tot;
p=trie[p][ch];
sum[p]++;
}
}
}
ll ask() {
ll len=strlen(s),p=0;
for(int i=0;i<len;i++) {
ll ch=0;
if(s[i]>='a'&&s[i]<='z') ch=s[i]-'a';
else if(s[i]>='A'&&s[i]<='Z') ch=s[i]-'A'+26;
else ch=s[i]-'0'+52;
if(!trie[p][ch]) return 0;
p=trie[p][ch];
}
return sum[p];
}
void ee() {
for(int i=0;i<=tot;i++) {
for(int j=0;j<=255;j++) {
trie[i][j]=0;
}
}
for(int i=0;i<=tot;i++) {
sum[i]=0;
}
}
void work() {
ll n,m;
scanf("%lld",&n,&m);
ee();
tot=0;
for(int i=1;i<=n;i++) {
cin>>s;
add();
}
for(int i=1;i<=m;i++) {
cin>>s;
printf("%lld\n",ask());
}
}
int main() {
int t;
scanf("%d",&t);
while(t--) {
work();
}
return 0;
}