#include<iostream>
using namespace std;
int son[1005][5000][26],idx[1005];
int n,m;
void insert(int x,char str[]){
int p=0;
for(int i=0;str[i];i++){
int t=str[i]-'a';
if(!son[x][p][t]) son[x][p][t]=++idx[x];
p=son[x][p][t];
}
}
bool check(int x,char str[]){
int p=0;
for(int i=0;str[i];i++){
int t=str[i]-'a';
if(!son[x][p][t])
return false;
p=son[x][p][t];
}
return true;
}
int main(){
char str[30];
int n;
cin>>n;
for(int i=1;i<=n;i++){
int t;
cin>>t;
while(t--){
cin>>str;
insert(i,str);
}
}
cin>>m;
while(m--){
int res=0,flag=0;
cin>>str;
for(int i=1;i<=n;i++)
if(check(i,str)){
if(flag)
printf(" ");
printf("%d",i);
flag=1;
}
if(m!=0)
printf("\n");
}
return 0;
}