#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()
{
    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_SIZE;
        size--;
        return patient;
    }
    return -1;// Queue is empty
}

int isEmpty()
{
    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 calledPatient=dequeue();
                printf("%d\n",calledPatient);
            }
            else
            {
                int slipNumber=atoi(ptr);
                if(slipNumber>=&&slipNumber<=5000)
                {
                    enqueue(slipNumber);
                }
                else
                {
                    printf("Invalid input\n");
                    return 0;
                }
            }
            ptr=strtok(NULL," ");
        }
        return 0;
    }
}