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