#include<stdio.h>
#define MAX 4
#define HR printf("------------n");
int queue[MAX];
int rear=-1;
int front= -1;
void insertQ(int value){
    //printf("-front %d --rear %d --n",(front+MAX)%MAX,(rear)%MAX);
    if((front+MAX)%MAX == (rear+MAX+1)%MAX){
        printf("Over Flow Errorn");
        return ;
    }
    rear= (rear+1)%MAX;
    queue[rear] = value;
}

int deleteQ(){
    //printf("-front %d --rear %d --",front,rear);
    if(front==rear){
        printf("UnderFlow Errorn");
        return -1;
    }
    front= (front+1)%MAX;
    return queue[front] ;

}
void view(){
    int i=0;
    HR;
    for(i=front+1;i<=rear;i= (i+1)%MAX){
//        printf("%d %d %d n",i,front,rear);
        printf("%d ",queue[i]);
         ;
    }
    printf("n");
    HR;

}
int main(int* argc,char* argv[]){
    insertQ(1);
    insertQ(2);
    insertQ(3);
    insertQ(4);
    insertQ(6);
    view();
    printf("%d n",deleteQ());
    view();
    return 1;
}