#include <iostream>
#include <bits/stdc++.h>
using namespace std;
void hhh() {
ios_base::sync_with_stdio(0);
cin.tie(0);
}
typedef long long ll;
int main() {
hhh();
int n;
cin >> n;
cin.ignore();
map<int, set<string>, greater<int>> scoreMp; // điểm -> tập tên, giảm dần
map<string, int> nameMp; // tên -> điểm
for (int i = 0; i < n; i++) {
string name;
int score;
cin >> name >> score;
nameMp[name] = score;
scoreMp[score].insert(name);
}
int q;
cin >> q;
cin.ignore();
while (q--) {
string ordered;
getline(cin, ordered);
if (ordered.size() == 1) { // chỉ có "1" thì in tên cao điểm nhất
auto it = scoreMp.begin(); // điểm cao nhất
cout << *it->second.begin() << "\n"; // tên nhỏ nhất theo từ điển
} else {
string cmd, name;
int score;
stringstream ss(ordered);
ss >> cmd >> name >> score;
// Nếu tên đã tồn tại thì xoá điểm cũ
if (nameMp.count(name)) {
int oldScore = nameMp[name];
scoreMp[oldScore].erase(name);
if (scoreMp[oldScore].empty()) {
scoreMp.erase(oldScore);
}
}
// Cập nhật điểm mới
nameMp[name] = score;
scoreMp[score].insert(name);
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgaGhoKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7Cn0KCnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKaW50IG1haW4oKSB7CiAgICBoaGgoKTsKCiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgY2luLmlnbm9yZSgpOwoKICAgIG1hcDxpbnQsIHNldDxzdHJpbmc+LCBncmVhdGVyPGludD4+IHNjb3JlTXA7ICAvLyDEkWnhu4NtIC0+IHThuq1wIHTDqm4sIGdp4bqjbSBk4bqnbgogICAgbWFwPHN0cmluZywgaW50PiBuYW1lTXA7ICAgICAgICAgICAgICAgICAgICAgIC8vIHTDqm4gLT4gxJFp4buDbQoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgc3RyaW5nIG5hbWU7CiAgICAgICAgaW50IHNjb3JlOwogICAgICAgIGNpbiA+PiBuYW1lID4+IHNjb3JlOwogICAgICAgIG5hbWVNcFtuYW1lXSA9IHNjb3JlOwogICAgICAgIHNjb3JlTXBbc2NvcmVdLmluc2VydChuYW1lKTsKICAgIH0KCiAgICBpbnQgcTsKICAgIGNpbiA+PiBxOwogICAgY2luLmlnbm9yZSgpOwoKICAgIHdoaWxlIChxLS0pIHsKICAgICAgICBzdHJpbmcgb3JkZXJlZDsKICAgICAgICBnZXRsaW5lKGNpbiwgb3JkZXJlZCk7CgogICAgICAgIGlmIChvcmRlcmVkLnNpemUoKSA9PSAxKSB7ICAvLyBjaOG7iSBjw7MgIjEiIHRow6wgaW4gdMOqbiBjYW8gxJFp4buDbSBuaOG6pXQKICAgICAgICAgICAgYXV0byBpdCA9IHNjb3JlTXAuYmVnaW4oKTsgLy8gxJFp4buDbSBjYW8gbmjhuqV0CiAgICAgICAgICAgIGNvdXQgPDwgKml0LT5zZWNvbmQuYmVnaW4oKSA8PCAiXG4iOyAvLyB0w6puIG5o4buPIG5o4bqldCB0aGVvIHThu6sgxJFp4buDbgogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN0cmluZyBjbWQsIG5hbWU7CiAgICAgICAgICAgIGludCBzY29yZTsKICAgICAgICAgICAgc3RyaW5nc3RyZWFtIHNzKG9yZGVyZWQpOwogICAgICAgICAgICBzcyA+PiBjbWQgPj4gbmFtZSA+PiBzY29yZTsKCiAgICAgICAgICAgIC8vIE7hur91IHTDqm4gxJHDoyB04buTbiB04bqhaSB0aMOsIHhvw6EgxJFp4buDbSBjxakKICAgICAgICAgICAgaWYgKG5hbWVNcC5jb3VudChuYW1lKSkgewogICAgICAgICAgICAgICAgaW50IG9sZFNjb3JlID0gbmFtZU1wW25hbWVdOwogICAgICAgICAgICAgICAgc2NvcmVNcFtvbGRTY29yZV0uZXJhc2UobmFtZSk7CiAgICAgICAgICAgICAgICBpZiAoc2NvcmVNcFtvbGRTY29yZV0uZW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgIHNjb3JlTXAuZXJhc2Uob2xkU2NvcmUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBD4bqtcCBuaOG6rXQgxJFp4buDbSBt4bubaQogICAgICAgICAgICBuYW1lTXBbbmFtZV0gPSBzY29yZTsKICAgICAgICAgICAgc2NvcmVNcFtzY29yZV0uaW5zZXJ0KG5hbWUpOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=