#include<stdio.h>
#include<string.h>
#define MAX 100
int deque[MAX];
int front=MAX/2,rear=MAX/2-1;
void join_front(int x)
{
    if(front==0)
    {
        return 0;
    }
        front--;
        deque[front]=x;
    }

void join_rear(int x)
{
    if(rear==MAX-1)
    {
        return ;
    }
    rear++;
    deque[rear]=x;
}
void issue()
{
    if (front>rear) return ;
    {
      printf("\n");
       front++;
    }
}
void display()
{
    if(front>rear)
    {
        printf(" ");
        return  0;
    }
    for(int i=front;i<=rear;i++)
    {
        printf("%d",deque[i]);
        if(i<rear)printf(" ");
    }
printf(" ");
}
int main()
{
    int n,x;
    char cmd[20];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%s",cmd);
        if(strcmp(cmd,"join_front")==0)
        {
            scanf("%d ",&x);
            join_front(x);
        }
        else if(strcmp(cmd,"join_rear")==0)
        {
            scanf("%d ",&x);
            join_rear(x);
        }
        else if(strcmp(cmd,"issue")==0)
        {
            issue();
        }
        else if(strcmp(cmd,"display")==0)
        {
            display();
        }
    }
    return 0;
}