#2011. [模板] 栈

[模板] 栈

题目描述

请你实现一个栈(stack),支持如下操作:

  • push(x):向栈中加入一个数 xx
  • pop():将栈顶弹出。如果此时栈为空则不进行弹出操作,输出 Empty
  • query():输出栈顶元素,如果此时栈为空则输出 Anguei!
  • size():输出此时栈内元素个数。

输入格式

第一行是一个整数,表示操作的次数 nn

接下来 nn 行,每行首先由一个字符串,为 pushpopquerysize 之一。若为 push,则其后有一个整数 xx,表示要被加入的数,xx 和字符串之间用空格隔开;若不是 push,则本行没有其它内容。

输出格式

对于每组数据,按照「题目描述」中的要求依次输出。每次输出占一行。

5
push 2
query
size
pop
query
2
1
Anguei!
3
pop
query
size
Empty
Anguei!
0

提示

样例 2 解释

对于第二组数据,始终为空,所以 popquery 均需要输出对应字符串。栈的 size 为 0。

数据规模与约定

对于全部的测试点,保证 1n1051 \leq n\leq 10^5,保证 0x<2630 \leq x \lt 2^{63}

提示

  • 请注意大量数据读入对程序效率造成的影响。
  • 请注意输出的 Empty 不含叹号,Anguei! 含有叹号。