import java.util.Scanner;
//和队列那题的模版基本一样,改个方向就行了
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
in.nextLine();//吸收多余的1个换行符
MyStack myStack = new MyStack(n);
// 注意 hasNext 和 hasNextLine 的区别
while (((n--) > 0) && in.hasNextLine()) { // 注意 while 处理多个 case
String line = in.nextLine();
String []arr = line.split(" ");
try {
if (arr[0].equals("push")) {
myStack.push(Integer.parseInt(arr[1]));
} else if (arr[0].equals("pop")) {
System.out.println(myStack.pop());
} else if(arr[0].equals("top")){
System.out.println(myStack.top());
}
} catch(RuntimeException e) {
System.out.println(e.getMessage());
}
}
}
}
class MyStack {
private int topIndex = -1;
private int [] arr;
MyStack() {
arr = new int[16];
}
MyStack(int n) {
arr = new int[n];
}
public void push(int x) {
arr[++topIndex] = x;
}
public int pop() {
if (topIndex < 0)
throw new RuntimeException("error");
return arr[topIndex--];
}
public int top() {
if (topIndex < 0)
throw new RuntimeException("error");
return arr[topIndex];
}
}