#8. 栈

Description

给定一个栈,初始时为空,维护以下四个操作。

1:将一个数x压入栈中。

2:弹出栈顶的数。

3:询问栈顶的数。

4:询问栈中数字的个数。

Format

Input

第一行一个正整数nn,表示操作数目。

接下来nn行,每行一个正整数编号optopt,表示操作类型。

opt=1opt = 1,接下来输入一个整数xx,代表将x放入栈中。

opt=2opt = 2,代表弹出栈顶元素。

opt=3opt = 3,代表询问栈顶元素。

opt=4opt = 4,代表询问栈内元素数量。

Output

对于每个opt=3opt = 3, 输出一行,一个整数,代表栈顶数字的值。

对于每个opt=4opt = 4, 输出一行,一个整数,代表当前栈中元素数量。

Samples

10
1 9
1 6
1 5
1 10
4
2
1 8
4
3
1 8
4
4
8

Limitation

本题共有10个测试点。

对于40%的测试数据,n10,0x109n\leq 10, 0\leq x \leq 10^9

对于另外30%的测试数据,n1000,0x109n\leq 1000, 0\leq x \leq 10^9

对于另外30%的测试数据,n105,0x109n\leq 10^5, 0\leq x \leq 10^9

保证测试数据不会出现栈下溢出。