// editor5
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct queue
{
    int data,prioriity;
}node;

int front=0,rear=0;

node que[50];

void enqueue(int n,int p)
{
    node *nd=(node*)malloc(sizeof(node));
    que[rear].data=n;
    que[rear++].priority=p;
    
}

void dequeue()
{
    if(front>rear)
    {
        printf("Queue is empty");
    }
    else
    {
        printf("%d",que[front++];
    }
}

void prioritize()
{
    for(int i=0;i<rear-1;i++)
    {
        for(int j=i;j<rear-i-1;j++)
        if(que[j]->priority>que[j+1]->priority)
        {
            node* temp=que[j];
            que[j]=q[j+1];
            queue[j+1]=temp;
        }
    }
}

int main()
{
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        int data,pr;
        char operation[20];
        scanf("%s",operation);
        scanf("%d",&data);
        scanf("%d",&pr);
        if(!strcmp(operation,"INSERT"))
            enqueue(data,pr);
        else
        {
            prioritize();
            dequeue();
        }
    }
    
}