#include<bits/stdc++.h>
using namespace std;
inline int read(){
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch == '-') f=-1 ; ch=getchar();}
while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-48 ; ch=getchar();}
return x*f;
}
const int M = 500010;
int n,m;
int tot = 1;
int ch[M][30];
bool bo[M][510];
void insert(string s,int num){
int len = s.length();
int u=1;
for(register int i(0) ; i<len ; i=-~i){
int c = s[i] - 'a';
if(!ch[u][c]) ch[u][c] = ++tot;
u = ch[u][c];
}
bo[u][num] = 1;
return;
}
void find(string s){
int len = s.length();
int u=1,flag=0;
for(register int i(0) ; i<len ; i=-~i){
int c = s[i] - 'a';
if(!ch[u][c]){flag=1;break;}
u = ch[u][c];
}
if(!flag){for(register int i(1) ; i<=n ; i=-~i){if(bo[u][i]) printf("%d ",i);}}
printf("\n");
return;
}
int main(){
n=read();
for(register int i(1) ; i<=n ; i=-~i){
int xxx;
xxx=read();
string a;
for(register int j(1) ; j<=xxx ; j=-~j){cin >> a;insert(a,i);}
}
m=read();
string b;
while(m--){cin >> b;find(b);}
return 0;
}