#include<bits/stdc++.h>
using namespace std;
const int N=5e5+5;
int n,m;
bool have[N][1005];
int trie[N][30];
int num=0;
char c[110];
void ins(int x)
{
scanf("%s",c);
int u=0,v,l=strlen(c);
for(int i=0;i<l;i++)
{
v=c[i]-'a';
if(!trie[u][v])
trie[u][v]=++num;
u=trie[u][v];
}
have[u][x]=1;
}
void find()
{
scanf("%s",c);
int u=0,v,type=1;
int l=strlen(c);
for(int i=0;i<l;i++)
{
v=c[i]-'a';
if(!trie[u][v])
{
type=0;
break;
}
u=trie[u][v];
}
if(type)
{
for(int i=1;i<=n;i++)
{
if(have[u][i])
printf("%d ",i);
}
}
printf("\n");
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int u;
scanf("%d",&u);
for(int j=1;j<=u;j++)
ins(i);
}
scanf("%d",&m);
for(int i=1;i<=m;i++)
find();
return 0;
}