#1025. 队列操作基础

队列操作基础

Description

给定一个空队列,依次执行n个操作,操作类型定义如下:

(1)1 x :将整数x入队

(2)2 :若队列不为空,则仅将队头元素出队,否则输出"ERR CANOT POP"

(3)3 :查询并输出队首元素,队列为空时输出"ERR CANOT QUERY"

(4)4 :输出队列中当前元素总数量

Format

Input

第一行一个整数n,表示操作总数量。

接下来共n行,每行描述一个操作,格式如上所述。

Output

对于每个操作(2)(3)(4),按执行先后次序,每行输出对应的结果。

Samples

7
1 10
1 20
3
4
2
3
2
10
2
20

Limitation

1s, 1024KiB for each test case.

在样例中:

执行 "1 10" 和 "1 20" 后队列为 [10,20]

"3" 输出队首10

"4" 输出队列大小2

"2" 出队并输出10,队列变为[20]

"3" 输出队首20

"2" 出队并输出20,此后队列为空