#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int T,n,m,k;
string a;
struct trie
{
int trie[N][128],num=0;
int cnt[N];
void insert(string s)
{
int p=0;
for(int i=0;i<int(s.size());i++)
{
int u=int(s[i]);
if(!trie[p][u])trie[p][u]=++num;
p=trie[p][u];
cnt[p]++;
}
}
int find(string s)
{
int p=0;
for(int i=0;i<int(s.size());i++)
{
int u=int(s[i]);
if(!trie[p][u])return 0;
p=trie[p][u];
}
return cnt[p];
}
};
int main()
{
cin>>T;
while(T--)
{
trie t;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a;
t.insert(a);
}
while(m--)
{
cin>>a;
cout<<t.find(a)<<endl;
}
}
return 0;
}