#include<stdio.h>
#include<stdlib.h>
typedef struct
{
    int data[MAX];
    int front,rear;
}
queue;
void init(queue*q)
{
    q->front=0;
    q->rear=0;
}
int isfull(queue*q,int n)
{
    return q->rear==n;
}
int isempty(queue*q)
{
    return q->front==q->rear;
}
void enqueue(queue*q,int n,int value)
{
    if(!isfull(q,n)){
        q->data[q->rear++]=value;
    }
}
void dequeue(queue*q){
    if(!isempty(q)){
        q->front++;
    }
}
void printqueue(queue*q){
    for(int i=q->front;i<q->rear;i++){
        printf("%d",q->data[i]);
    }
    print("\n");
}
int main()
{
    queue q;
    intit(&q);
    int n;
    scanf("%d",&n);
    int cmd,value;
    while(scanf("%d",&cmd)!=EOF){
        if(cmd==0){
            printqueue(&q);
        }
        else if(cmd==1){
            scanf("%d",&value);
            enqueue(&q,n,value);
        }elseif(cmd==2){
            dequeue(&q);
        }
        }
        return 0;
    }