#include<stdio.h>
#include<string.h>
#define MAX 1000
int deque[MAX];
int front=-1,rear=-1;
int isEmpty(){
    return (front == -1);
}
void pushFront(int x){
    if(front ==-1){
        front = rear =0;
    }
    else {
        front--;
    }
    deque[front]=x;
    
}
void pushRear(int x){
    if(rear ==-1){
        front = rear=0;
    }else{
        rear++;
    }
    deque[rear]=x;
}






void popfront(){
    if(isEmpty()){
        printf("Invalid operation\n");
        return ;
    }
    if(front == rear){
        front = rear=-1;
    }
        else{
            front++;
        }
}
void display(){
    if(isEmpty()){
        printf("No passengers\n");
        return 0;
    }
    for(int i=front;i<=rear;i++){
        printf("%d",deque[i]);
        if(i<rear)
        printf(" ");
    }
    printf("\n");
}
int main(){
    int N;
    scanf("%d",&N);
    getchar();
    char cmd[50];
    int id;
    for(int i=0;i<N;i++){
        fgets(cmd, sizeof(cmd), stdin);
        if(strncmp(cmd, "priority_board",14)==0){
            sscanf(cmd, "priority_board %d", &id);
            pushFront(id);
        }
        else if(strncmp(cmd, "general_board", 13)==0){
          sscanf(cmd, "general_board_board %d", &id);  
          pushRear(id);
        }
        else if(strcmp(cmd,"board_train", 11)==0){
            popFront();
        }
        else if(strncmp(cmd, "display", 7)==0){
            display();
        }
    }
    return 0;
}