1 #include<bits/stdc++.h>
2 using namespace std;
3 char s[30000];
4 int nw,len,n,l,m,tot,fg;
5 bitset<1020> b[500020];
6 int t[500002][30];
7 void insert(int x)
8 {
9 len=strlen(s+1);nw=0;
10 for(int i=1,k;i<=len;++i)
11 {
12 k=s[i]-'a';
13 if(!t[nw][k]) t[nw][k]=++tot;
14 nw=t[nw][k];
15 }
16 b[nw][x]=1;
17 }
18 void find()
19 {
20 fg=0;
21 len=strlen(s+1);nw=0;
22 for(int i=1,k;i<=len;++i)
23 {
24 k=s[i]-'a';
25 if(!t[nw][k]){fg=1;break;}
26 nw=t[nw][k];
27 }
28 if(fg);
29 else{
30 for(int i=1;i<=n;++i)
31 if(b[nw][i]) printf("%d ",i);
32 }
33 printf("
");
34 }
35 int main()
36 {
37 scanf("%d",&n);
38 for(int i=1;i<=n;++i)
39 {
40 scanf("%d",&l);
41 for(int j=1;j<=l;++j)
42 {
43 scanf("%s",s+1);
44 insert(i);
45 }
46 }
47 scanf("%d",&m);
48 for(int i=1;i<=m;++i)
49 {
50 scanf("%s",s+1);
51 find();
52 }
53 return 0;
54 }