1 #include <algorithm>
2 #include <cstring>
3 #include <cstdio>
4
5 using namespace std;
6
7 int tot,n;
8 char s[11];
9 struct Trie
10 {
11 int next[27];
12 }tr[3000000];
13 inline void Trie_build()
14 {
15 int now=0,len=strlen(s);
16 for(int x,i=0;i<len;i++)
17 {
18 x=s[i]-‘a‘;
19 if(tr[now].next[x])
20 now=tr[now].next[x];
21 else
22 {
23 tr[now].next[x]=++tot;
24 now=tot;
25 }
26 }
27 }
28 inline bool Trie_find()
29 {
30 int len=strlen(s);
31 int now=0,p=0;
32 for(;p<len;)
33 if(tr[now].next[s[p]-‘a‘])
34 now=tr[now].next[s[p]-‘a‘],p++;
35 else return 0;
36 return 1;
37 }
38
39 int main()
40 {
41 scanf("%d",&n);
42 for(int i=1;i<=n;i++)
43 {
44 scanf("%s",s);
45 Trie_build();
46 memset(s,0,sizeof(s));
47 }
48 scanf("%d",&n);
49 for(int i=1;i<=n;i++)
50 {
51 scanf("%s",s);
52 if(Trie_find()) printf("YES\n");
53 else printf("NO\n");
54 memset(s,0,sizeof(s));
55 }
56 return 0;
57 }