{"problem":{"name":"【模板】栈","description":{"content":"请你实现一个栈（stack），支持如下操作： - `push(x)`：向栈中加入一个数 $x$。 - `pop()`：将栈顶弹出。如果此时栈为空则不进行弹出操作，输出 `Empty`。 - `query()`：输出栈顶元素，如果此时栈为空则输出 `Anguei!`。 - `size()`：输出此时栈内元素个数。","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P2"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGB3614"},"statements":[{"statement_type":"Markdown","content":"请你实现一个栈（stack），支持如下操作：\n- `push(x)`：向栈中加入一个数 $x$。\n- `pop()`：将栈顶弹出。如果此时栈为空则不进行弹出操作，输出 `Empty`。\n- `query()`：输出栈顶元素，如果此时栈为空则输出 `Anguei!`。\n- `size()`：输出此时栈内元素个数。\n\n## Input\n\n**本题单测试点内有多组数据**。  \n输入第一行是一个整数 $T$，表示数据组数。对于每组数据，格式如下：  \n每组数据第一行是一个整数，表示操作的次数 $n$。  \n接下来 $n$ 行，每行首先由一个字符串，为 `push`，`pop`，`query` 和 `size` 之一。若为 `push`，则其后有一个整数 $x$，表示要被加入的数，$x$ 和字符串之间用空格隔开；若不是 `push`，则本行没有其它内容。\n\n## Output\n\n对于每组数据，按照「题目描述」中的要求依次输出。每次输出占一行。\n\n[samples]\n\n## Note\n\n### 样例 1 解释\n对于第二组数据，始终为空，所以 `pop` 和 `query` 均需要输出对应字符串。栈的 size 为 0。\n\n### 数据规模与约定\n\n对于全部的测试点，保证 $1 \\leq T, n\\leq 10^6$，且单个测试点内的 $n$ 之和不超过 $10^6$，即 $\\sum n \\leq 10^6$。保证 $0 \\leq x \\lt 2^{64}$。\n\n### 提示\n- 请注意大量数据读入对程序效率造成的影响。\n- 因为一开始数据造错了，请注意输出的 `Empty` 不含叹号，`Anguei!` 含有叹号。","is_translate":false,"language":"English"}],"meta":{"iden":"LGB3614","tags":["O2优化","栈","模板题"],"sample_group":[["2\n5\npush 2\nquery\nsize\npop\nquery\n3\npop\nquery\nsize","2\n1\nAnguei!\nEmpty\nAnguei!\n0"]],"created_at":"2026-03-03 11:09:25"}}