#include<bits/stdc++.h>
using namespace std;

struct node {
    int chinese, math, english, sum;
    node(int a, int b, int c) {
        chinese = a;
        math = b;
        english = c;
        sum = a + b + c;
    }
};

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: 实现删除操作
    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;
}