#include<iostream>
#include<cstdio>
using namespace std;
#define MAXSIZE 100
typedef int Status;
typedef int Elem;
typedef struct SqQueue
{
	
	Elem *base;
	int front;
	int rear;
}sqQueue;
Status InitSqueue(SqQueue &Q)
{
	Q.base = new Elem[MAXSIZE];
	if (!Q.base) return 0;
	Q.front = Q.rear = 0;
	return 1;
}
int QueueLen(SqQueue &Q)
{
	
	return (Q.rear - Q.front + MAXSIZE) % MAXSIZE;
}
Status EnQueue(SqQueue &Q,Elem e)
{
	
	if ((Q.rear + 1) % MAXSIZE == Q.front)
		return 0;
	Q.base[Q.rear] = e;
	Q.rear = (Q.rear + 1) % MAXSIZE;
	
	return 1;
}
Status DelQueue(SqQueue &Q,Elem e)
{
	if (Q.front == Q.rear) return 0;
	e = Q.base[Q.front];
	Q.front = (Q.front + 1) % MAXSIZE; 
	return 1;
}
Elem GetHead(sqQueue Q)
{
	if (Q.front != Q.rear)
		return Q.base[Q.front];
	
	
	else return 0;
}
int main()
{
	sqQueue Q;
	
	InitSqueue(Q);
	
	EnQueue(Q, 1);
	cout<<GetHead(Q);
	
	Elem e = 1;
	DelQueue(Q,e);
	cout<<GetHead(Q);
}