#include<stdio.h>
#include<string.h>
#define MAX 2000
int deque[MAX];
int front = -1,rear = -1;
int capacity;
int iaEmpty() {
    return (front == -1);
}
int iaFull() {
    return ((front == 0 && rear == capacity-1) || (front == rear+1));
}
void insertFront(int x){
    if(isFull())
       return;
    if(isEmpty()){
        front = rear = 0;
    }else nif(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 is empty\n");
        return;
    }
    printf("%d\n", deque[front]);
    if(front == rear){
        front=rear=-1;
    } else if(front == capacity - 1){
        front++;
    }
}
void deleteLast() {
    if(isEmpty()){
        printf("Deque is empty\n");
        return;
    }
    printf("%d\n",dequeue[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, "insertFront") == 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;
}