#include <iostream>
#include <string.h>
using namespace std;
int n, m, idx;
int ch[1000100][26], cnt[1000100];
string hz[1000010];
inline void init(string s) {
string st;
int len = s.size();
for (int i = len - 1; i >= 0; i--) {
st = s[i] + st;
hz[i] = st;
}
hz[len] = "";
}
void insert(string s) {
int p = 0, len = s.size();
for (int i = 0; i < len; i++) {
int j = s[i] - 'a';
if (!ch[p][j]) ch[p][j] = ++idx;
p = ch[p][j];
}
cnt[p]++;
}
int query(string s, int k) {
int p = 0, maxn = 0, len = s.size();
for (int i = 0; i < len; i++) {
int j = s[i] - 'a';
if (!ch[p][j]) break;
p = ch[p][j];
if (cnt[p]) maxn = max (maxn, i + 1 + query(hz[k + i + 1], k + i + 1));
}
return maxn;
}
int main() {
cin >> n >> m;
while (n--) {
string s;
cin >> s;
insert(s);
} while (m--) {
string s;
cin >> s;
init(s);
cout << query(s, 0) << endl;
}
}