#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node{
    int id ,p;
    struct node *next;
};
struct node *head=NULL;
void insert (int id,int p) {
    if (p<1) {
        printf("Invalid input");
        exit(0);
    }
    struct node *n=malloc(sizeof(struct node));
    n>id=id;n->p=p; n->next=NULL;
    if(head ||p>head->p){
        n->next=head;
        head=n;
    }
    else{
        struct node*t=head;
        while(t->next && t->next->p>=p)
        t=t->next;
        n->next=t->next;
        t->next=n;
    }
}
void del(){
    if(!hesd){
        printf("queue is empty\n");
        return 0;
    }
    printf("%d\n", head->id);
    head=head->next;
}
int main(){
    int n, id, p;
    char op[10];
    scanf("%d",&n);
    while(n--){
        scanf("%s",op);
        if(! strcmp(op, "INSERT")) {
            scanf("%d %d" ,&id,&p);
            insert(id,p);
        }
        else if(!strcmp(op, "DELETE")){
            del();
        }
    }
    return 0;
}