#P3533. 栈练习4

栈练习4

题目描述

比起栈练习3,本题不保证执行访问栈顶元素操作或出栈操作时栈不为空。 给定一个初始为空的栈,栈内元素为整数且大小不超过109,共有入栈、出栈、访问栈顶三种操作。给出N次操作,按要求输出对应操作的结果。 操作解释:
1 表示入栈,操作后跟随一个入栈元素;
2 表示出栈;
3 表示访问栈顶元素。

输入格式

第一行,一个数字 N,表示操作个数,1≤N≤10^5。
其后 N 行,表示 N 个操作,操作格式如下:
1 后跟一个整数:执行入栈操作;
2:执行出栈操作;
3:执行访问栈顶元素操作。

输出格式

输出若干行结果,按操作的执行顺序输出对应内容:

  1. 入栈操作无任何输出;
  2. 出栈操作:若栈为空,输出impossible!;栈非空则无输出;
  3. 访问栈顶操作:若栈为空,输出impossible!;栈非空则输出对应的栈顶元素。

样例输入

6
1  7
3
2
2
1  9
3

样例输出

7
impossible!
9