import java.io.*;
import java.util.HashMap;
import java.util.TreeSet;
class student implements Comparable<student>{
String name;
int score,id,sex;
public student(String name,int score,int id,int sex) {
this.name=name;
this.score=score;
this.id=id;
this.sex=sex;
}
@Override
public int compareTo(student o) {
return this.name.compareTo(o.name);
}
}
public class Main{
public static void main(String[] args) throws IOException{
StreamTokenizer sc=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
while(sc.nextToken()!=StreamTokenizer.TT_EOF)
{
HashMap<String, student> all=new HashMap<String, student>();
TreeSet<student>[] Allscore=new TreeSet[110];
int T=(int)sc.nval;
while (T-->0) {
sc.nextToken();
String name=sc.sval;
sc.nextToken();
int score=(int)sc.nval;
sc.nextToken();
int sex=(int)sc.nval;
sc.nextToken();
int id=(int)sc.nval;
student now=new student(name, score, id, sex);
if (Allscore[score]==null) {
Allscore[score]=new TreeSet<student>();
}
Allscore[score].add(now);
all.put(name, now);
}
sc.nextToken();
int n=(int)sc.nval;
while (n-->0) {
sc.nextToken();
int type=(int)sc.nval;
if (type==1) {
sc.nextToken();
String name=sc.sval;
student now=all.get(name);
out.printf("%d %d %d",now.score,now.id,now.sex);
out.println();
}else {
sc.nextToken();
int score=(int)sc.nval;
if (Allscore[score]!=null) {
for (student ss : Allscore[score]) {
out.println(ss.name);
}
}
}
}
out.flush();
}
}
}