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];
    }
}