#include<stdio.h>
#include<stdlib.h>
#include<string.h>
# define max 1000
typedef struct {
    int data[max];
    int front, rear;
}deque;
void initdeque(deque *dq){
    dq->front = max/2;
    dq->rear= max/2-1;
}
int isEmpty(deque *dq){
    return dq->front > dq->rear;
}
void push_front(deque *dq,int front, int val){
    if(dq->rear ==max -1){
        printf("Invalid operation");
        return ;
    }
    dq->data[--front]=val;
}
void push_back(deque *dq, int val){
    if (dq->rear== max -1){
        printf("Invalid operaton");
        return;
    }dq->data[++dq->rear] = val;
    
}
void pop_front (deque *dq){
    if(isEmpty(dq)){
        printf("Invalid operation");
        return ;
    }
    dq->front ++;
    
}
void display(deque *dq){
    if(isEmpty(dq)){
        printf("No passengers");
        return;
        
    }
    for(int i=dq->front; i<= dq->rear;i++){
        printf("%d", dq->data[i]);
        if(i< dq->rear) printf(" ");
    }
    printf(" ");
}
int main(){
    int n;
    char cmd[50];
    deque dq;
    initdeque(&dq);
    scanf("%d",&n);
    getchar();
    for(int i=0;i<n;i++){
        fgets(cmd, sizeof(cmd),stdin);
        cmd[strcspn(cmd, " ")] =0;
        if(strncmp(cmd, "priority_board", 15)==0){
            int id=atoi(cmd+ 14);
            push_front(&dq,id,front);
        }
        else if(strcmp(cmd, "general_board",14)==0){
            int id=atoi(cmd + 14);
            push_back(&dq, id);
        }
        else if(strcmp(cmd, "board_train")==0){
            if(isEmpty(&dq)){
                printf("Invalid operation");
            }
            else{
                pop_front(&dq);
            }
        }
        else if(strcmp(cmd, "display")==0){
            display(&dq);
            
        }
        else{
            printf("Invalid operation");
        }
        
    }
    return 0;
}