#include <bits/stdc++.h>
using namespace std;
const int N = 310000;
int n, m, Len, nxt[4][N], opt;
string s[N], S;
bool b[N];
void insert(int x) {
  string t = s[x];
  int len = t.length(), u = 0;
  for (int i = 0; i < len; i++) {
    int tt = t[i] - 'a';
    if (!nxt[tt][u]) nxt[tt][u] = ++opt;
    u = nxt[tt][u];
  }
  b[opt] = 1;
}
bool dfs(int now, int u, bool d) {
  if (u == Len) {
    if (d == 0 && b[now]) return 1;
    return 0;
  }
  if (nxt[S[u] - 'a'][now] && dfs(nxt[S[u] - 'a'][now], u + 1, d)) return 1;
  if (d == 1) {
    int t = S[u] - 'a';
    for (int i = 0; i < 3; i++) {
      if (i == t || !nxt[i][now]) continue;
      if (dfs(nxt[i][now], u + 1, 0)) return 1;
    }
  }
  return 0;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 1; i <= n; i++) cin >> s[i], insert(i);
  for (int i = 1; i <= m; i++) {
    cin >> S;
    Len = S.length();
    if (dfs(0, 0, 1))
      puts("YES");
    else
      puts("NO");
  }
  return 0;
}
