#include<bits/stdc++.h>
typedef long long int lli;
using namespace std;
int main()
{
lli i,j,k,n,m,t;
lli mask;
cin>>n>>m;
string str[n+1],st,stt;
lli mx,sz;
map< pair<string,lli>,lli>mp;
for(i=0;i<n;i++)
{
cin>>str[i];
sz=str[i].size();
mx=1LL<<sz;
st=str[i];
for(j=1;j<mx;j++)
{
stt="";
mask=0;
for(k=0;k<sz;k++)
{
if(j & (1LL<<k))
{
mask|=(1<<k);
stt+=st[k];
}
}
mp[{stt,mask}]++;
}
}
lli q;
cin>>q;
while(q--)
{
cin>>st;
stt="";
mask=0;
for(i=0;i<st.size();i++)
{
if(st[i]=='?')
continue;
mask|=(1<<i);
stt+=st[i];
}
if(mask==0)
cout<<n<<"\n";
else
cout<<mp[{stt,mask}]<<"\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsaTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgbGxpIGksaixrLG4sbSx0OwoKICAgIGxsaSBtYXNrOwoKICAgIGNpbj4+bj4+bTsKCiAgICBzdHJpbmcgc3RyW24rMV0sc3Qsc3R0OwogICAgbGxpIG14LHN6OwoKICAgIG1hcDwgcGFpcjxzdHJpbmcsbGxpPixsbGk+bXA7CgogICAgZm9yKGk9MDtpPG47aSsrKQogICAgewogICAgICAgIGNpbj4+c3RyW2ldOwoKICAgICAgICBzej1zdHJbaV0uc2l6ZSgpOwogICAgICAgIG14PTFMTDw8c3o7CgogICAgICAgIHN0PXN0cltpXTsKCiAgICAgICAgZm9yKGo9MTtqPG14O2orKykKICAgICAgICB7CiAgICAgICAgICAgIHN0dD0iIjsKICAgICAgICAgICAgbWFzaz0wOwoKICAgICAgICAgICAgZm9yKGs9MDtrPHN6O2srKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoaiAmICgxTEw8PGspKQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICBtYXNrfD0oMTw8ayk7CiAgICAgICAgICAgICAgICAgICAgc3R0Kz1zdFtrXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgbXBbe3N0dCxtYXNrfV0rKzsKICAgICAgICB9CiAgICB9CgogICAgbGxpIHE7CgogICAgY2luPj5xOwoKICAgIHdoaWxlKHEtLSkKICAgIHsKICAgICAgICBjaW4+PnN0OwoKICAgICAgICBzdHQ9IiI7CiAgICAgICAgbWFzaz0wOwoKICAgICAgICBmb3IoaT0wO2k8c3Quc2l6ZSgpO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKHN0W2ldPT0nPycpCiAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgIG1hc2t8PSgxPDxpKTsKICAgICAgICAgICAgc3R0Kz1zdFtpXTsKICAgICAgICB9CgoKICAgICAgICBpZihtYXNrPT0wKQogICAgICAgICAgICBjb3V0PDxuPDwiXG4iOwogICAgICAgIGVsc2UKICAgICAgICBjb3V0PDxtcFt7c3R0LG1hc2t9XTw8IlxuIjsKICAgIH0KfQo=