/*
#include<stdio.h>
int main()
{
int stack[201]={};
int top=-1;
int n;
int sum=0;
scanf("%d",&n);
char a[201];
for(int i=0; i<=n; i++)
{
gets(a);
if(a[0]=='p'&&a[3]=='h')//push
{
top++;
int data=0;
for(int j=6;a[j]!=' ';j++){
data=data*10+a[j]-'0';
}
stack[top]=data;
}
else if(a[0]=='t'&&a[2]=='p')//top
{
if(top<=-1)
{
printf("-1\n");
}
else
{
printf("%d\n",stack[top]);
}
}
else if(a[0]=='p'&&a[2]=='p')//pop
{
if(top!=-1)
top--;
}
else if(a[0]=='s'&&a[3]=='e')//size
{
printf("%d\n",top+1);
}
else if(a[0]=='e'&&a[4]=='y')//empty
{
if(top<=-1)
{
printf("true\n");
}
else{
printf("false\n");
}
}
}
return 0;
}
*/
/*
10
pop()
pop()
push( 52 )
size()
push( 2 )
size()
top()
top()
size()
top()
1
2
2
2
2
2
-1
*/
/*
#include<stdio.h>
int top=-1;
int stack[201]={};
void push(int data)
{
top++;
stack[top]=data;
}
int pop()
{
if(top==-1) return -1; // 들어있던-1이 리턴된건지? 스택이비었는지? 구분불가능
return stack[top--];
}
int main()
{
char a[201];
int data=0;
gets(a);
for(int i=0;a[i]!=NULL;i++)
{
if('0'<=a[i]&&a[i]<='9'){
data=data*10+a[i]-'0';
if(a[i+1]==' '){
push(data);
data=0;
}
}
else if(a[i]!=' '){
int x = pop();
int y = pop();
if(a[i]=='+') push(y+x);
else if(a[i]=='*') push(y*x);
else if(a[i]=='-') push(y-x);
}
}
printf("%d",stack[top]);
return 0;
}
*/
#include<stdio.h>
int main()
{
int queue[201]={};
int rear=-1;
int front=-1;
int n;
int sum=0;
scanf("%d",&n);
char a[201];
for(int i=0;i<=n;i++)
{
gets(a);
if(a[0]=='p'&&a[3]=='h')//push
{
rear++;
int data=0;
for(int j=6;a[j]!=' ';j++){
data=data*10+a[j]-'0';
}
queue[rear]=data;
}
else if(a[0]=='f'&&a[4]=='t')//front
{
if(rear==front)
{
printf("-1\n");
}
else
{
printf("%d\n",queue[front+1]);
}
}
else if(a[0]=='b'&&a[3]=='k')//back
{
if(front==rear)
{
printf("-1\n");
}
else
{
printf("%d\n",queue[rear]);
}
}
else if(a[0]=='p'&&a[2]=='p')//pop
{
if(front!=rear)
{
front++;
}
}
else if(a[0]=='s'&&a[3]=='e')//size
{
printf("%d\n",rear-front);
}
else if(a[0]=='e'&&a[4]=='y')//empty
{
if(rear==front)
{
printf("true\n");
}
else{
printf("false\n");
}
}
}
return 0;
}