#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
int to[500005][50];
int get[500005][50];
int cnt;
ll t,n;
char a[5005];
void add(ll now,ll from){
ll len = strlen(a + 1);
for(int i = 1;i <= len;++i){
if(to[now][a[i] - 'a' + 1])
now = to[now][a[i] - 'a' + 1];
else
to[now][a[i] - 'a' + 1] = ++cnt,now = cnt;
}
if(get[now][get[now][0]] != from)
get[now][++get[now][0]] = from;
return ;
}
void find(){
ll len = strlen(a + 1);
ll now = 0;
for(int i = 1;i <= len;++i){
if(to[now][a[i] - 'a' + 1])
now = to[now][a[i] - 'a' + 1];
else{
puts("");
return;
}
}
for(int i = 1;i <= get[now][0] - 1;++i)
if(get[now][i] != get[now][i - 1])
std::cout<<get[now][i]<<" ";
std::cout<<get[now][get[now][0]];
puts("");
return;
}
int main(){
scanf("%lld",&t);
for(int QWQ = 1;QWQ <= t;++QWQ){
scanf("%lld",&n);
for(int i = 1;i <= n;++i){
scanf("%s",a + 1);
add(0,QWQ);
}
}
scanf("%lld",&t);
for(int i = 1;i <= t;++i){
scanf("%s",a + 1);
find();
}
}