#include<cstdio>
#include<queue>
#include<string>
using namespace std;
struct Complex{
int re;
int im;
};
bool operator < (Complex lhs ,Complex rhs){
//lhs的模小于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<Complex> pqueue;
for(int i = 0; i < n; ++i){
char action[30];
scanf("%s",action);
string actionstr = action;//从C风格转换成C++风格
if(actionstr == "Pop"){
if(pqueue.empty()){
printf("empty\n");
}
else{
printf("%d+i%d\n", pqueue.top().re,pqueue.top().im);
pqueue.pop();
printf("SIZE = %d\n",pqueue.size());
}
}
else if(actionstr == "Insert"){
int re,im;
scanf("%d+i%d",&re,&im);//格式化读取
Complex c;
c.re = re;
c.im = im;
pqueue.push(c);
printf("SIZE = %d\n", pqueue.size());
}
}
system("pause");
}