#include<bits/stdc++.h>
using namespace std;
struct node {
int chinese, math, english, sum;
node(int c, int m, int e) : chinese(c), math(m), english(e) {
sum = c + m + e;
}
};
bool operator<(node a, node b) {
// TODO: 实现比较逻辑,按照总分、语文、数学、英语的优先级排序
if (a.sum != b.sum) {
return a.sum < b.sum;
} else if (a.chinese != b.chinese) {
return a.chinese < b.chinese;
} else if (a.math != b.math) {
return a.math < b.math;
} else {
return a.english < b.english;
}
}
priority_queue<node> s;
void insertValue(int chinese, int math, int english) {
// TODO: 实现插入操作
s.push(node(chinese, math, english));
}
void deleteValue() {
// TODO: 实现删除操作
if (!s.empty()) {
s.pop();
}
}
node getTop() {
// TODO: 返回成绩最好的学生
return s.top();
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int q, op;
int x, y, z;
cin >> q;
while (q--) {
cin >> op;
if (op == 1) {
cin >> x >> y >> z;
insertValue(x, y, z);
}
if (op == 2) {
node tmp = getTop();
cout << tmp.chinese << " " << tmp.math << " " << tmp.english << endl;
}
if (op == 3) {
deleteValue();
}
}
return 0;
}