#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
struct node{
int id,val;
}p[maxn];
char s[10];
int a[maxn];
int main(){
int out=0;
int i=0,l=0,r=-1;
scanf("%s",s);
while(scanf("%s",s),s[0]!='E'){
if(s[0]=='I'){
int x;
scanf("%d",&x);
a[i++]=x;
while(l<=r&&p[r].val<x) r--;
p[++r]={i-1,x};
printf("%d\n",p[l].val);
}else if(s[0]=='O'){
if(l>r) printf("-1\n");
else{
out++;
while(l<=r&&p[l].id<out) l++;
if(l<=r)
printf("%d\n",p[l].val);
else printf("-1\n");
}
}else break;
}
return 0;
}