#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
const int mod = 1e9 + 7;
const long long inf = 1e17;
char a[maxn], b[maxn], s[maxn];
int v[200];
int main() {
  int q;
  scanf("%s%s", a, b);
  int n = strlen(a);
  for (int i = 0; i < n; ++i) v[a[i]] = 1;
  n = strlen(b);
  scanf("%d", &q);
  while (q--) {
    scanf("%s", s);
    int len = strlen(s);
    int o = len - n + 1;
    if (o < 0) {
      puts("NO");
      continue;
    }
    int i = 0, j = 0, k;
    while (i < n) {
      if (b[i] == s[j]) {
        i++;
        j++;
      } else if (b[i] == '?' && v[s[j]]) {
        i++;
        j++;
      } else if (b[i] == '*') {
        for (k = 0; k < o && j < len; ++k, ++j)
          if (v[s[j]]) break;
        if (k < o) break;
        i++;
      } else {
        break;
      }
    }
    if (i < n || j < len)
      puts("NO");
    else
      puts("YES");
  }
  return 0;
}
