#include <bits/stdc++.h>
#define void inline void
#define int unsigned char
using namespace std;const unsigned N=3e6+1;int m[128];
void init(){for(int i=65;i<91;++i)m[i]=i-65,m[i+32]=i-65+26;for(int i=47;i<58;m[++i]=i+4);}
#define aa(i) memset(a[i],0,sizeof a[i]),cnt[i]=0
class tire{private:unsigned a[N][63],id=0,cnt[N];//bitset<N>ed;
public:void ins(const string &s){register unsigned p=0;
for(register unsigned i=0;i<s.size();++i){int c=m[s[i]];
if(!a[p][c])a[p][c]=++id,aa(id);p=a[p][c];++cnt[p];}//ed[p]=1;
}inline unsigned qry(const string &s){register unsigned p=0;for(int i=0;i<s.size();++i){
int c=m[s[i]];p=a[p][c];if(p==0)return 0;}return cnt[p];}
void clear(){aa(0);id=0;}}a;
signed main(){ios::sync_with_stdio(0);register unsigned n,q,t;cin>>t;
init();while(t--){cin>>n>>q;while(n--){string s;cin>>s;a.ins(s);}
while(q--){string s;cin>>s;cout<<a.qry(s)<<'\n';}a.clear();}
}