#include<stdio.h>
#include<string.h>
#define MAX 1000
int dq[MAX];
int front=-1,rear=-1;
int is Empty(){
    return front ==-1;
}
void priority_board(intt 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(){
    if(isEmpty(){
        printf("Invalid operation\n");
        return 0;
    }
    front++;
    if(front>rear){
        front=rear=-1;
    }
}
void display() {
    if(isEmpty(){
        printf("No passengers\n");
        return 0;
    }
    for (int i =front;i<=rear,i++){
        printf("%d",dq[i]);
        if(i < rear)
        prinitf(" ");
    }
    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,"general_board")==0){
            scanf("%d", &x);
            priority_board(x);'
            }
            else if(strcmp(cmd,"general_board")==0){
                scanf("%d",&x);
            }
            else if(strcmp(cmd,"board_train")==0)
            {
                board_train();
            }
            else if(strcmp(cmd,"display")==0){
                display();
            }
    }
    return 0;
}