program queue;
type
queuee=record
q:array[1..100] of integer;
t,w:integer;
end;
var
s:queuee;
x,y,n,m,i,j:integer;
f1,f2:text;
flag:boolean;
begin
assign(f1,'queue.in');reset(f1);
assign(f2,'queue.out');rewrite(f2);
readln(f1,n);
s.w:=1; s.t:=1;
for i:=1 to n do
begin
read(f1,x);
if x=2 then read(f1,y);
case x of
1:begin fillchar(s.q,sizeof(s.q),0);
s.w:=s.t;
end;
2:begin if s.w-s.t+1<10 then begin
s.q[s.w]:=y;
inc(s.w);
end
else writeln(f2,'queue out');
end;
3:begin if s.w-s.t>0 then begin
inc(s.t);
end
else writeln(f2,'queue empty');
end;
4:begin writeln(f2,s.w-s.t);
for j:=s.t to s.w-1 do
writeln(f2,s.q[j]);
end;
end;
end;
close(f2);
end.