#include <iostream>
#include <sstream>
#include<unordered_map>
#include<vector>
#include<map>
#include<set>
#include<sstream>
using namespace std;
int main() {
    int n;
    cin>>n;
map<string,set<int>>mp;//设置一个知道单词就查到在哪个句子里面有的
  //完成输入句子 划分句子成分 为每一个有的单词标记出现的句子序号
    string line;
    getline(cin,line);
    //上面的两行代码专门读取cin之后的换行符
    for(int i=1;i<=n;i++)
    {
         string line;
        getline(cin,line);
        stringstream ss(line);
        int k;
        ss>>k;
        string word;
        for(int j=0;j<k;j++){
            ss>>word;
            mp[word].insert(i);
        }
    }
    int m;
    cin>>m;
    for(int i=1;i<=m;i++)
    {
        string qword;
        cin>>qword;
        if(mp.count(qword))
        {
            const auto&doc_ids=mp[qword];//获取所有类型为set 的qword对应的值
            bool first=true;
            for(int id:doc_ids)//把它打印出来
            {
                if(!first)cout<<" ";
                cout<<id;
                first=false;
            }
        }
        cout<<endl;
    }    
}
// 64 位输出请用 printf("%lld")