#include <bits/stdc++.h>
using namespace std;
#define int long long
using pii = pair<int,int>;
struct Hash {
static const int base1 = 1e9 + 975, base2 = 1e9 + 1357;
static const int mod1 = 1e9 + 5277, mod2 = 1e9 + 7277;
vector<int> pw1, pw2, h1, h2;
int n;
void assign(const string &s) {
n = s.size();
pw1.assign(n+1,0);
pw2.assign(n+1,0);
h1.assign(n+1,0);
h2.assign(n+1,0);
pw1[0] = pw2[0] = 1;
for(int i = 1; i <= n; i++){
pw1[i] = (pw1[i-1] * 1LL * base1) % mod1;
pw2[i] = (pw2[i-1] * 1LL * base2) % mod2;
int v = s[i-1] - 'A' + 1;
h1[i] = (h1[i-1] * 1LL * base1 + v) % mod1;
h2[i] = (h2[i-1] * 1LL * base2 + v) % mod2;
}
}
pii get(){
int x1 = h1[n];
int x2 = h2[n];
return {x1, x2};
}
};
bool cmp(const pii &A, const pii &B){
return A.first == B.first && A.second == B.second;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m; cin >> n;
string x;
vector<Hash> A(n);
vector<pii> a(n);
for(int i = 0; i < n; i++){
cin >> x;
A[i].assign(x);
a[i] = (A[i].get());
}
cin >> m;
vector<Hash> B(m);
vector<pii> b(m);
for(int i = 0; i < m; i++){
cin >> x;
bool flg = 0;
B[i].assign(x);
pii k = B[i].get();
for(int j = 0; j < n; j++){
if(k == a[j]){
cout << "YES" << endl;
flg = 1;
break;
}
}
if(!flg) cout << "NO" << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBwaWkgPSBwYWlyPGludCxpbnQ+OwoKc3RydWN0IEhhc2ggewogICAgc3RhdGljIGNvbnN0IGludCBiYXNlMSA9IDFlOSArIDk3NSwgYmFzZTIgPSAxZTkgKyAxMzU3OwogICAgc3RhdGljIGNvbnN0IGludCBtb2QxID0gMWU5ICsgNTI3NywgbW9kMiA9IDFlOSArIDcyNzc7CiAgICB2ZWN0b3I8aW50PiBwdzEsIHB3MiwgaDEsIGgyOwogICAgaW50IG47CiAgICB2b2lkIGFzc2lnbihjb25zdCBzdHJpbmcgJnMpIHsKICAgICAgICBuID0gcy5zaXplKCk7CiAgICAgICAgcHcxLmFzc2lnbihuKzEsMCk7CiAgICAgICAgcHcyLmFzc2lnbihuKzEsMCk7CiAgICAgICAgaDEuYXNzaWduKG4rMSwwKTsKICAgICAgICBoMi5hc3NpZ24obisxLDApOwogICAgICAgIHB3MVswXSA9IHB3MlswXSA9IDE7CiAgICAgICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgICAgICBwdzFbaV0gPSAocHcxW2ktMV0gKiAxTEwgKiBiYXNlMSkgJSBtb2QxOwogICAgICAgICAgICBwdzJbaV0gPSAocHcyW2ktMV0gKiAxTEwgKiBiYXNlMikgJSBtb2QyOwogICAgICAgICAgICBpbnQgdiA9IHNbaS0xXSAtICdBJyArIDE7CiAgICAgICAgICAgIGgxW2ldID0gKGgxW2ktMV0gKiAxTEwgKiBiYXNlMSArIHYpICUgbW9kMTsKICAgICAgICAgICAgaDJbaV0gPSAoaDJbaS0xXSAqIDFMTCAqIGJhc2UyICsgdikgJSBtb2QyOwogICAgICAgIH0KICAgIH0KICAgIHBpaSBnZXQoKXsKICAgICAgICBpbnQgeDEgPSBoMVtuXTsKICAgICAgICBpbnQgeDIgPSBoMltuXTsKICAgICAgICByZXR1cm4ge3gxLCB4Mn07CiAgICB9Cn07Cgpib29sIGNtcChjb25zdCBwaWkgJkEsIGNvbnN0IHBpaSAmQil7CiAgICByZXR1cm4gQS5maXJzdCA9PSBCLmZpcnN0ICYmIEEuc2Vjb25kID09IEIuc2Vjb25kOwp9CgoKCnNpZ25lZCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoKICAgIGludCBuLCBtOyBjaW4gPj4gbjsKICAgIHN0cmluZyB4OwogICAgdmVjdG9yPEhhc2g+IEEobik7CiAgICB2ZWN0b3I8cGlpPiBhKG4pOwogICAgCiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgIAljaW4gPj4geDsKICAgIAlBW2ldLmFzc2lnbih4KTsKICAgIAlhW2ldID0gKEFbaV0uZ2V0KCkpOwogICAgfQogICAgY2luID4+IG07CiAgICB2ZWN0b3I8SGFzaD4gQihtKTsKICAgIHZlY3RvcjxwaWk+IGIobSk7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbTsgaSsrKXsKICAgIAljaW4gPj4geDsKICAgIAlib29sIGZsZyA9IDA7CiAgICAJQltpXS5hc3NpZ24oeCk7CiAgICAJcGlpIGsgPSBCW2ldLmdldCgpOwogICAgCWZvcihpbnQgaiA9IDA7IGogPCBuOyBqKyspewogICAgCQlpZihrID09IGFbal0pewogICAgCQkJY291dCA8PCAiWUVTIiA8PCBlbmRsOwogICAgCQkJZmxnID0gMTsKICAgIAkJCWJyZWFrOwogICAgCQl9CiAgICAJfQogICAgCWlmKCFmbGcpIGNvdXQgPDwgIk5PIiA8PCBlbmRsOwogICAgCQogICAgfQogICAgCiAgICAKCiAgICByZXR1cm4gMDsKfQo=