#include<stdio.h>#defineMaxsize5typedefstruct{int n[20];int top;}Stack;voidInitStack(Stack &s){
s.top=-1;}voidpush(Stack &s){int n;scanf("%d",&n);
s.n[++s.top]=n;}voidpop(Stack &s){int n=s.n[s.top--];printf("%2d",n);}typedefstruct{int data[Maxsize];int h=0;int t=0;}List;boolInList(List &L){if((L.h+1)%Maxsize==L.t ){returnfalse;}int n;scanf("%d",&n);
L.h=L.h%Maxsize;
L.data[L.h++]=n;returntrue;}boolOutList(List &L){if( L.h==L.t ){returnfalse;}
L.t=L.t%Maxsize;int n=L.data[L.t++];printf("%2d",n);returntrue;}intmain(){
Stack s;InitStack(s);for(int i =0; i <3;++i){push(s);}for(int i =0; i <3;++i){pop(s);}
List l;for(int i =0; i <5;++i){if(InList(l)==false){printf("false\n");}}for(int i =0; i <4;++i){OutList(l);}return0;}