#include <bits/stdc++.h>
using namespace std;
#define ll int
ll vis[100005];
ll trie[26][100005];
ll ans[100005];
ll sz,cur;
string s;
void in()
{
ll st=0,dep=0,mi=0;
for (ll i=s.size()-1;i>=0;i--)
{
dep+=1;
ll cur=s[i]-97;
if(!vis[trie[cur][st]])
{
trie[cur][st]=++sz;
}
vis[trie[cur][st]]+=1;
if(i==(s.size()-1))
mi=vis[trie[cur][st]];
else
{
mi=min(mi,vis[trie[cur][st]]); // mi stores the minimum value on current path
}
ans[dep]=max(ans[dep],mi); // ans[] stores result for a given depth for all strings
st=trie[cur][st];
}
}
int main()
{
ll i,j,k,n,m,t;
scanf("%d",&t);
while(t--)
{
ll q;
sz=0;
for(i=0;i<=100000;i++)
{
ans[i]=0,vis[i]=0;
}
scanf("%d %d",&n,&q);
while(n--)
{
cin>>s;
in();
}
while(q--)
{
scanf("%d",&j);
printf("%d\n",ans[j]);
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgaW50CmxsIHZpc1sxMDAwMDVdOwpsbCB0cmllWzI2XVsxMDAwMDVdOwpsbCBhbnNbMTAwMDA1XTsKbGwgc3osY3VyOwpzdHJpbmcgczsKdm9pZCBpbigpCnsKICAgIGxsIHN0PTAsZGVwPTAsbWk9MDsKICAgIGZvciAobGwgaT1zLnNpemUoKS0xO2k+PTA7aS0tKQogICAgewogICAgICAgIGRlcCs9MTsKICAgICAgICBsbCBjdXI9c1tpXS05NzsKICAgICAgICBpZighdmlzW3RyaWVbY3VyXVtzdF1dKQogICAgICAgIHsKICAgICAgICAgICAgdHJpZVtjdXJdW3N0XT0rK3N6OwogICAgICAgIH0KICAgICAgICB2aXNbdHJpZVtjdXJdW3N0XV0rPTE7CiAgICAgICAgaWYoaT09KHMuc2l6ZSgpLTEpKQogICAgICAgICAgICBtaT12aXNbdHJpZVtjdXJdW3N0XV07CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgIG1pPW1pbihtaSx2aXNbdHJpZVtjdXJdW3N0XV0pOyAvLyBtaSBzdG9yZXMgdGhlIG1pbmltdW0gdmFsdWUgb24gY3VycmVudCBwYXRoCiAgICAgICAgfQogICAgICAgIGFuc1tkZXBdPW1heChhbnNbZGVwXSxtaSk7IC8vIGFuc1tdIHN0b3JlcyByZXN1bHQgZm9yIGEgZ2l2ZW4gZGVwdGggZm9yIGFsbCBzdHJpbmdzCiAgICAgICAgc3Q9dHJpZVtjdXJdW3N0XTsKICAgIH0KfQppbnQgbWFpbigpCnsKICAgIGxsIGksaixrLG4sbSx0OwogICAgc2NhbmYoIiVkIiwmdCk7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgbGwgcTsKICAgICAgICBzej0wOwogICAgICAgIGZvcihpPTA7aTw9MTAwMDAwO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGFuc1tpXT0wLHZpc1tpXT0wOwogICAgICAgIH0KICAgICAgICBzY2FuZigiJWQgJWQiLCZuLCZxKTsKICAgICAgICB3aGlsZShuLS0pCiAgICAgICAgewogICAgICAgICAgICBjaW4+PnM7CiAgICAgICAgICAgIGluKCk7CiAgICAgICAgfQogICAgICAgIHdoaWxlKHEtLSkKICAgICAgICB7CiAgICAgICAgICAgIHNjYW5mKCIlZCIsJmopOwogICAgICAgICAgICBwcmludGYoIiVkXG4iLGFuc1tqXSk7CiAgICAgICAgfQogICAgfQp9Cg==