#include <bits/stdc++.h> using namespace std; struct node { int a; int b; }; bool operator<( node n1, node n2) { //n1的模小于n2的模,则交换 return n1.a * n1.a + n1.b * n1.b < n2.a * n2.a + n2.b * n2.b; } int main() { int n; priority_queue<node> q; while (cin >> n) { for (int i = 0; i < n; i++) { // string s; char s1[30]; cin >> s1; string s = s1; if (s == "Pop") { if (!q.empty()) { cout << q.top().a << "+i" << q.top().b << endl; q.pop(); cout << "SIZE = " << q.size() << endl; } else { cout << "empty" << endl; } } else if (s == "Insert") { int a, b; scanf("%d+i%d", &a, &b); node c; c.a = a; c.b = b; q.push(c); cout << "SIZE = " << q.size() << endl; } } } return 0; }