#include <iostream>
#include <cmath>
#include <string>
#include <queue>
using namespace std;
struct Complex{
    int re;
    int im;
};
bool operator <(Complex lhs, Complex rhs){
    return pow(lhs.re,2) + pow(lhs.im,2) < pow(rhs.re,2) + pow(rhs.im,2);

}
int main() {
    priority_queue<Complex> myque;
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;++i){
        char x[30];
        scanf("%s",x);
        if(x[0]=='P'){
            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(x[0] == 'I'){
            int real,img;
            scanf("%d+i%d",&real,&img);
            Complex y;
            y.re = real;
            y.im = img;
            myque.push(y);
            printf("SIZE = %d\n",myque.size());
        }    
    }
}
// 64 位输出请用 printf("%lld")