#include<stdio.h>
#include<string.h>
#define MAX 10

int rear=-1,front=-1;

typedef struct leaf{
    int id;
    int val;
}s;

s arr[MAX];

void enqueue(int id , int val){
    if(rear==MAX-1){
        printf("Queue is full");
    }
    else{
        if(front==-1){
            front++;
        }
        arr[++rear].id=id;
        arr[rear].val=val;
        
        
    for(int i=front ; i<=rear ;i++){
        for(int j=i+1 ; j<=rear ; j++){
            if(arr[i].val < arr[j].val){
                s temp = arr[i];
                arr[i]=arr[j];
                arr[j]=temp;
            }
        }
    }
    
  }
}

int dequeue(){
    
  
    if(front==-1 || front>rear){
        printf("Queue is empty");
        return 0;
    }
    else{
        
       int id= arr[front].id;
       front++;
       printf("\n%d",id)
    }
    
   
}

int main(){
  int n,id,val;
  char inp[20];
  scanf("%d",&n);
  
  if(n<0){
      printf("Invalid input");
      return 0;
  }
  
  for(int i=0 ; i<n ; i++){
      scanf("%s",inp);
      
     if(!(strcmp(inp,"INSERT"))){
         scanf("%d",&id);
         scanf("%d",&val);
         enqueue(id,val);
     }
     if(!(strcmp(inp,"DELETE"))){
         dequeue();
     }
      
      

  }
  
    
     
     return 0;
  
}