//#include<stdio.h>
//#include<string.h>
//int stack[300]={};
//int top=-1;
//void push(int k)
//{
// stack[++top]=k;
//}
//int pop()
//{
// return stack[top--];
//}
//int main()
//{
// int i,a,b,c=0;
// char str[300]={};
// gets(str);
// for(i=0;i<strlen(str);i++)
// {
// if(str[i]=='+')
// {
// a=pop();
// b=pop();
// push(a+b);
// }
// else if(str[i]=='-')
// {
// a=pop();
// b=pop();
// push(b-a);
// }
// else if(str[i]=='*')
// {
// a=pop();
// b=pop();
// push(a*b);
// }
// if('0'<=str[i]&&str[i]<='9')
// {
// if(str[i+1]!=' ')
// {
// c*=10;
// c+=str[i]-'0';
// }
// else
// {
// c*=10;
// c+=str[i]-'0';
// push(c);
// c=0;
// }
// }
// }
// printf("%d",pop());
// return 0;
//}
#include<stdio.h>
#define size 5
int que[size]={};
int front=0, rear=0;
void enq(int k)
{
if((rear+1)%size ==front ) {
printf("full\n");
return;
}
rear=(rear+1)%size;
que[rear]=k;
}
int deq()
{
if(front == rear) {
printf("empty\n");
return 0;
}
front=(front+1)%size;
int data = que[front];
que[front]=0;
return data;
}
void view()
{
for(int i=0;i<size;i++)
{
printf("%d ",que[i]);
}
printf("\n");
}
int main()
{
int n,c;
while(1)
{
printf("1.enq 2.deq 3.view 4. f,r>> ");
scanf("%d",&n);
if(n==1)
{
printf("type data : ");
scanf("%d",&c);
enq(c);
}
else if(n==2)
{
deq();
}
else if(n==3)
{
view();
}
else if(n==4)
{
printf("f = %d r = %d\n",front,rear);
}
}
}