#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <string>
#include <set>
#include <map>
using namespace std;
const int maxn = 100010;
map<string,set<int> > title,author,key,pub,year;
void findi(map<string,set<int> > &mp, string & a)
{
if(mp.find(a) == mp.end()) printf("Not Found\n");
else
{
for(set<int>::iterator it = mp[a].begin(); it != mp[a].end(); it++)
{
printf("%07d\n",*it);
}
}
}
int main()
{
int n,m,u,v;
scanf("%d",&n);
string a,b,d,c,e,g;
for(int i = 0; i < n; i++)
{
scanf("%d",&m);
getchar();//划重点
getline(cin,a);
title[a].insert(m);
getline(cin,b);
author[b].insert(m);
while(cin>>c)
{
key[c].insert(m);
char f = getchar();
if(f == '\n')
{
break;
}
}
getline(cin,d);
pub[d].insert(m);
getline(cin,e);
year[e].insert(m);
}
scanf("%d",&u);
for(int i = 0; i < u; i++)
{
scanf("%d: ",&v);
getline(cin,g);
printf("%d: ",v);
cout<<g<<endl;
if(v == 1) findi(title,g);
if(v == 2) findi(author,g);
if(v == 3) findi(key,g);
if(v == 4) findi(pub,g);
if(v == 5) findi(year,g);
}
return 0;
}