#include<stdio.h>
#include<string.h>
#define MAX 1000
int dq[MAX];
int front=-1,rear=-1;
int isEmpty(){
    return front == -1;
}
void priority_board(int x){
    if(isEmpty()){
         front = rear=0;
    }else{
        front--;
    }
dq[front]=x;
}
void general_board(int x){
     if(isEmpty()){
         front = rear=0;
    }else{
        rear++;
    }
dq[rear]=x;
}
void board_train(int x){
     if(isEmpty()){
         printf("Invalid operation\n");
    return ;
     }
     front++;
     if(front>rear){
         front=rear=-1;
     }
}
void display(){
    if(isEmpty()){
        printf("No passengers\n");
        return;
    }
    for (int i=front;i<=rear;i++){
        printf("%d",dq[i]);
        if(i<=rear)
        printf(" ");
    }
    printf("\n");
    }
    int main(){
        int n,x;
        char cmd[50];
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%s",cmd);
        if(strcmp(cmd,"priority_board")==0){
            scanf("%d",&x);
            priority_board(x);
        }
        else if(strcmp(cmd,"general_borad")==0){
            scanf("%d",&x);
            general_borad(x);
            
        }else if(strcmp(cmd,"borad_train")==0){
            board_train();
        
    }
    else if(strcmp(cmd,"display")==0){
        display();
    }
}
    return 0;
    }