#include <iostream>
#include<queue>
#include<cstdio>
#include<cstring>
using namespace std;
struct node
{ char s[20];
int x;
friend bool operator < (node a,node b)
{
return a.x<b.x;//x大的优先级高,为顶端可操作的元素
}
} ;
int main()
{
int n,i;
char s[20];
priority_queue<node> qu;
node temp;//创建一个temp变量
cin>>n;
for(i=0;i<n;i++)
{scanf("%s",&s[0]);//字符串s为s[20]的首地址,即&s[0]
if(strcmp(s,"push")==0)
{
scanf("%s%d",temp.s,&temp.x);qu.push(temp);//如果输入的匹配push那就输入病人的姓名和病人生病的优先级
}
else
{
if(qu.empty())
printf("none\n");
else
{
temp=qu.top();qu.pop();printf("%s %d\n",temp.s,temp.x);//这是输入pull的情况,输出最大
}
}
}
return 0;
}