#include<cstdio>
#include<queue>
#include<string>
using namespace std;

struct Complx {
    int re;
    int im;
};
bool operator < (Complx lhs, Complx rhs) {
    return lhs.re * lhs.re + lhs.im * lhs.im < rhs.re * rhs.re + rhs.im * rhs.im;
}
int main() {
    int n;
    scanf("%d", &n);
    priority_queue< Complx> myQue;
    for (int i = 0 ; i < n ; ++i) {
        char arr[30];
        scanf("%s", arr);
        string s = arr;
        if (s == "Pop") {
            if (myQue.empty()) {
                printf("empty\n");
            } else {
                printf("%d+i%d\n", myQue.top().re, myQue.top().im);
                myQue.pop();
                printf("SIZE = %d\n", myQue.size());
            }
        } else if (s == "Insert") {
            int re, im;
            scanf("%d+i%d", &re, &im);
            Complx c;
            c.re = re;
            c.im = im;
            myQue.push(c);
            printf("SIZE = %d\n", myQue.size());
        }
    }
}