#include <bits/stdc++.h>
using namespace std;
bool chk(char ar[],char ch)
{
for(int i=0,len=strlen(ar);i<len;i++)
{
if(ch==ar[i])
return true;
}
return false;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
char good[30], str[100006], ar[100006], tmp[100006];
unsigned long long n;
int qpos[1000006];
cin >> good;
cin >> str;
cin >> n;
bool star = false,ret = false;
int goodlen = strlen(good);
int origlen = strlen(str);
int kt = 0;
for (int i = 0; i < origlen; i++) {
if (ar[i] == '*') {
star = true;
} else if (ar[i] == '?') {
qpos[kt++] = i;
}
}
while (n--) {
static int k =0;
cin >> ar;
ret = true;
int len = strlen(tmp);
if (len == origlen || (len == origlen - 1 && star == true)) {
strcpy(ar, tmp);
for(int i=0;i<kt;i++)
{
if(chk(good,tmp[qpos[k++]])==false)
{
ret = false;
break;
}
}
if(ret)
{
cout<<"YES"<<endl;
} else
cout<<"NO"<<endl;
} else
cout << "NO"<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBjaGsoY2hhciBhcltdLGNoYXIgY2gpCnsKICAgIGZvcihpbnQgaT0wLGxlbj1zdHJsZW4oYXIpO2k8bGVuO2krKykKICAgIHsKICAgICAgICBpZihjaD09YXJbaV0pCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIHJldHVybiBmYWxzZTsKfQoKCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwoKICAgIGNoYXIgZ29vZFszMF0sIHN0clsxMDAwMDZdLCBhclsxMDAwMDZdLCB0bXBbMTAwMDA2XTsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBuOwoKICAgIGludCBxcG9zWzEwMDAwMDZdOwoKICAgIGNpbiA+PiBnb29kOwogICAgY2luID4+IHN0cjsKICAgIGNpbiA+PiBuOwoKICAgIGJvb2wgc3RhciA9IGZhbHNlLHJldCA9IGZhbHNlOwoKICAgIGludCBnb29kbGVuID0gc3RybGVuKGdvb2QpOwogICAgaW50IG9yaWdsZW4gPSBzdHJsZW4oc3RyKTsKCiAgICBpbnQga3QgPSAwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgb3JpZ2xlbjsgaSsrKSB7CiAgICAgICAgaWYgKGFyW2ldID09ICcqJykgewogICAgICAgICAgICBzdGFyID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgaWYgKGFyW2ldID09ICc/JykgewogICAgICAgICAgICBxcG9zW2t0KytdID0gaTsKICAgICAgICB9CgogICAgfQoKCiAgICB3aGlsZSAobi0tKSB7CiAgICAgICAgc3RhdGljIGludCBrID0wOwogICAgICAgIGNpbiA+PiBhcjsKICAgICAgICByZXQgPSB0cnVlOwoKICAgICAgICBpbnQgbGVuID0gc3RybGVuKHRtcCk7CgogICAgICAgIGlmIChsZW4gPT0gb3JpZ2xlbiB8fCAobGVuID09IG9yaWdsZW4gLSAxICYmIHN0YXIgPT0gdHJ1ZSkpIHsKCiAgICAgICAgICAgIHN0cmNweShhciwgdG1wKTsKCiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8a3Q7aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGlmKGNoayhnb29kLHRtcFtxcG9zW2srK11dKT09ZmFsc2UpCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIHJldCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKHJldCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dDw8IllFUyI8PGVuZGw7CiAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgY291dDw8Ik5PIjw8ZW5kbDsKCgoKICAgICAgICB9IGVsc2UKICAgICAgICAgICAgY291dCA8PCAiTk8iPDxlbmRsOwogICAgfQoKCgogICAgcmV0dXJuIDA7Cn0=