#include <bits/stdc++.h>
using namespace std;
int t[1000003][26],d;
char s[1000003];
int w[1000003];
int n,m;
void add(char s[])
{
int x=0,y=s[0]-'a',l=strlen(s);
for(int i=1;i<l;i++)
{
y=s[i]-'a';
if(t[x][y]==0)t[x][y]=++d;
x=t[x][y];
if(i==l-1)w[x]++;
}
}
int find(char s[])
{
int x=0,y=s[0]-'a',l=strlen(s),cnt=0;
for(int i=1;i<l;i++)
{
y=s[i]-'a';
if(t[x][y]==0)break;
x=t[x][y];
cnt+=w[x];
}
return cnt;
}
int main()
{
cin>>n>>m;
while(n--)
{
cin>>s;
add(s);
}
while(m--)
{
cin>>s;
cout<<find(s)<<endl;
}
return 0;
}