#include<stdio.h>
#include<stdbool.h>
#include<string.h>
#define max 100
int q[max];
int front=-1,rear=-1;
int size;
bool isFull(){
    return((front==0 && rear==size-1)||(front==rear+1));
}
bool isEmpty(){
    return(front==-1);
}
void insertFront(int x){
    if(isFull())return;
    front=size-1;
}else{
    front--;
}
q[front]=x;
}
void insertlast(int x){
    if(isFull())return;
    printf("%d\n",q[front]);
    if(front==rear){
        front=rear=-1;
    }else if(front==size-1){
        front=0;
    }else{
        front++;
    }
}
void deleteLast(){
    if(isEmpty())return;
    printf("%\n",q[rear]);
    if(front==rear){
        front=rear=-1;
    }else if(rear==0){
        rear=size-1;
}else{
    rear--;
}
}
int getRear(){
    if(isEmpty())return-1;
    return q[rear];
}
int main(){
    int n;
    scanf("%d",&n);
    size=n;
    char op[20];
    int x;
    while(scanf("%s",op)!=EOF){
        if(strcmp(op,"insertFront")==0){
            scanf("%d",&x);
            insertFront(x);
        }
        else if(strcmp(op,"insertFront")==0){
            scanf("%d",&x);
            insertFront(x);
        }
        else if(strcmp(op,"deleteFront")==0){
            deleteFront();
        }
        else if(strcmp(op,"deleteLast")==0){
            deleteLast();
        }
        else if(strcmp(op,"getFront")==0){
            int val=getFront();
            if(val!=-1)
            printf("%d\n",val);
            
        }
        else if(strcmp(op,"getRear")==0){
            int val=getFront();
            if(val!=-1)
            printf("%d\n",val);
        }
        else if(strcmp(op,"isEmpty")==0){
            printf(isEmpty()?"true\n":"false\n");
            
        }
        else if(strcmp(op,"isFull")==0){
            printf(isFull()?"true\n":"false\n");
        }
    }
    return 0;
    }