#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX_QUEUE 45
int queue[MAX_QUEUE];
int front=0;
int rear=-1;
int size=0;
void enqueue(int slipNumber){
    if(size<MAX_QUEUE){
        rear=(rear + 1) % MAX_QUEUE;
        queue[rear]=slipNumber;
        size++;
    }
}
int dequeue(){
    if(size>0){
        int patient=queue[front];
        front=(front  + 1) % MAX_QUEUE;
        size--;
        return patient;
    }
    return -1;
}
int empty(){
    return(size==0);
}
int main(){
    char input[1000];
    char token[20];
    if(fgets(input,sizeof(input),stdin)==NULL){
        return 0;
    }
    int len=strlen(input);
    if(len>0 && input[len-1]=='\n'){
        input[len-1]='\0';
    }
    char *ptr=strtok(input," ");
    while(ptr!=NULL){
        if(strcmp(ptr,"B")==0){
            if(isEmpty()){
                printf("Invalid input\n");
            }else{
                int callesPatient=dequeue();
                printf("%d\n",calledPatient);
            }
        }else{
            int slipNumber=atoi(ptr);
            if(slipNumber>=1 && slipNumber<=5000){
                enqueue(slipNumber);
            }else{
                printf("Invalid input\n");
                return 0;
            }
        }
        ptr=strtok(NULL," ");
    }
    return 0;
}