#include <bits/stdc++.h>
using namespace std;
const int N = 600005;
const long long mod = 1000000000000000003;
char str[N];
long long f[N];
unordered_set<long long> st;
int main() {
  f[0] = 1;
  int n, m;
  for (int i = 1; i < 600000; i++) f[i] = f[i - 1] * 3 % mod;
  cin >> n >> m;
  while (n--) {
    scanf("%s", str);
    long long res = 0;
    int len = strlen(str);
    for (int i = 0; i < len; i++)
      res = (res + f[len - i - 1] * (str[i] - 'a')) % mod;
    st.insert(res);
  }
  while (m--) {
    scanf("%s", str);
    long long sum = 0;
    int flag = 0;
    int len = strlen(str);
    for (int i = 0; i < len; i++)
      sum = (sum + f[len - i - 1] * (str[i] - 'a')) % mod;
    for (int i = 0; i < len; i++) {
      long long sum2 = (sum - f[len - i - 1] * (str[i] - 'a')) % mod;
      if (sum2 < 0) sum2 += mod;
      for (int j = 0; j < 3; j++) {
        if (str[i] - 'a' != j)
          if (st.count((sum2 + f[len - i - 1] * j) % mod)) {
            flag = 1;
            break;
          }
      }
      if (flag) break;
    }
    if (flag)
      puts("YES");
    else
      puts("NO");
  }
  return 0;
}
