#include <stdio.h>
#include <stdlib.h>
#define Q_SIZE 100
typedef int element;
typedef struct{
element queue[Q_SIZE];
int front, rear;
} QueueType;
element mysize = 0;
QueueType *createQueue(){
QueueType *Q;
Q = (QueueType *)malloc(sizeof(QueueType));
Q -> front = 0;
Q -> rear = 0;
return Q;
}
int isEmpty(QueueType *Q){
if(Q->front == Q->rear){
return 1;
}
else return 0;
}
int isFull(QueueType *Q){
if(((Q->rear+1) % Q_SIZE) == Q->front){
return 1;
}
else return 0;
}
void enQueue(QueueType *Q, element item){
if(isFull(Q)) return;
else{
Q->rear = (Q->rear+1)%Q_SIZE;
Q->queue[Q->rear] = item;
mysize++;
}
}
element deQueue(QueueType *Q){
if(isEmpty(Q)) return;
else {
mysize--;
Q->front = (Q->front+1)%Q_SIZE;
return Q->queue[Q->front];
}
}
element peek(QueueType *Q){
if(isEmpty(Q)) exit(1);
else return Q-> queue[(Q->front+1)%Q_SIZE];
}
void size(void){
printf("%d\n",mysize);
}
void printQ(QueueType *Q){
int i, first, last;
first = (Q->front+1)%Q_SIZE;
last = (Q->rear+1)%Q_SIZE;
printf(" Queue : [");
i = first;
while(i!=last){
printf("%3c",Q->queue[i]);
i = (i+1)%Q_SIZE;
}
printf("]\n");
}
int main(void){
QueueType *Q1 = createQueue();
element data;
int n;
scanf("%d",&n);
int i;
int aaa;
for(i = 0;i<n;i++){
char c;
scanf(" %c",&c);
switch(c){
case 'i':
scanf("%d",&aaa);
enQueue(Q1, aaa);
break;
case 'o':
if(isEmpty(Q1)==1){
printf("empty\n");
}
else
printf("%d\n",deQueue(Q1));
break;
case 'c':
size();
break;
}
}
}