#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
const int range=3e6+10;
int n;
string s;
int q;
int cnt[range];
char ch[range][70];
int idx=0;
int get(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 jianli(string s)
{
int p=0;
for(int i=0;i<=s.size()-1;i++)
{
int x=get(s[i]);
if(ch[p][x]==0){
ch[p][x]=++idx;
}
p=ch[p][x]; cnt[p]++;
}
return ;
}
int query(string s)
{
int p=0;
for(int i=0;i<=s.size()-1;i++)
{
int j=get(s[i]);
if(!ch[p][j])return 0;
p=ch[p][j];
}
return cnt[p];
}
void solve()
{
for(int i=0;i<=idx;i++)
{ cnt[i]=0;
for(int j=0;j<=119;j++)ch[i][j]=0;
}
idx=0;
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>s;
jianli(s);
}
while(q--)
{
cin>>s;
cout<<query(s)<<endl;
}
}
signed main()
{
int t; cin>>t;
ios::sync_with_stdio();
cin.tie(0);
cout.tie(0);
while(t--)solve();
return 0;
}