#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(!head) {
            printf("Queue is empyty\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;
    }