#X0003. 【模板】栈 Stack

【模板】栈 Stack

当前没有测试数据。

描述

请你实现一个栈,支持以下四种操作:

  • push(x):将整数 x 压入栈顶。
  • pop():弹出栈顶元素。
  • query():查询当前栈顶元素。
  • size():查询当前栈中元素个数。

一开始,栈为空。

格式

输入

第一行一个整数 m,表示操作次数。

接下来 m 行,每行表示一次操作,格式如下:

  • push x:将整数 x 压入栈顶。
  • pop:弹出栈顶元素。
  • query:查询当前栈顶元素。
  • size:查询当前栈中元素个数。

输出

对于每个 query 操作,输出一行当前栈顶元素。

对于每个 size 操作,输出一行当前栈中元素个数。

示例

8
push 3
push 5
query
size
pop
query
pop
size
5
2
3
0
7
push -1
size
push 10
query
pop
query
size
1
-1
1

数据约定

  • 1≤m≤1051 \le m \le 10^5
  • −109≤x≤109-10^9 \le x \le 10^9
  • 保证执行 pop 和 query 操作时,栈不为空。