#include <stdio.h>
#include <string.h>
#define MAX 2000
int deque[MAX];
int front=-1,rear=-1;
int capacity;
int isEmpty(){
    return (front==-1);
}
int isFull(){
    return((front ==0 && rear==capacity-1) || (front==rear+1));
}
void insertFront(int x){
    if(isFull())
    return;
    if(isEmpty()){
        front=rear=0;
    }
    else if(front == 0){
        front=capacity-1;
    }else{
        front--;
    }
    deque[front]=x;
}
void insertLast(int x){
    if(isFull())
    return;
    if(isEmpty()){
        front =rear=0;
    }else if(rear == capacity -1){
        rear=0;
    }else{
        rear++;
    }
    deque[rear]=x;
}
void deleteFront(){
    if(isEmpty()){
        printf("Deque isempty\n");
        return;
    }
    printf("%d\n",deque[front]);
    if(front ==rear){
        front=rear=-1;
    }else if(front==capacity-1){
        front=0;
    }else{
        front++;
    }
}
void deleteLast(){
    if(isEmpty()){
        printf("Deque is empty")
        return;
    }
    printf("d\n",deque[rear]);
    if(front ==rear){
        front =rear=-1;
    }else if(rear ==0){
        rear =capacity-1;
    }else{
        rear--;
    }
}
void getFront(){
    if(isEmpty())
    printf("Deque is empty\n");
    else 
    printf("%d\n",deque[front]);
    
}
void getRear(){ 
    if(isEmpty())
    printf("Deque is empty\n");
    else
    printf("%d\n",deque[rear]);
    
}
int main(){
    scanf("%d",&capacity);
    char op[20];
    int x;
    
    while (scanf("%s",op)!= EOF){
        if(strcmp(op,"inserFront")==0){
            scanf("%d",&x);
            insertFront(x);
        }
        else if(strcmp(op,"insertLast")==0){
            scanf("%d",&x);
            insertLast(x);
        }
        else if(strcmp(op,"deleteFront")==0){
            deleteFront();
        }
        else if(strcmp(op,"deleteLast")==0){
            deleteLast();
        }else if(strcmp(op,"getFront")==0){
            getFront();
        }
        else if(strcmp(op,"getRear")==0){
            getRear();
        }
        else if(strcmp(op,"isEmpty")==0){
            printf("%s\n",isEmpty()? "true": "false");
        }
        else if(strcmp(op,"isFull")==0){
            printf("%s\n",isFull()? "true" :"false");
        }
        
    }
    return 0;
}