//按照降序排列,而且队列中只保存k个元素
#include<stdio.h>
#include<queue>using namespace std;
int main(){
int n,k;
while(~scanf("%d%d",&n,&k)){
priority_queue<int,vector<int>,greater<int> > q;
for(int i=0;i<n;i++){
char c[10];
scanf("%s",c);
if(c[0]=='I'){
int a;
scanf("%d",&a);
q.push(a);
if(q.size()>k){
q.pop();
}
}
else{
printf("%d\n",q.top());
}
}
}
}