import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int x = in.nextInt();
        in.nextLine();

        Stack stack = new Stack(x);
        
        for(int i = 0; i < x; i++){
            String s = in.nextLine();
            // 将字符串按字符串中的字符串划分成字符串数组
            String[] sArr = s.split(" ");
            String command = sArr[0];
            if(command.equals("push")){
                stack.push(Integer.parseInt(sArr[1]));
            }else if(command.equals("pop")){
                stack.pop();
            }else if(command.equals("top")){
                stack.top();
            }
        }
        in.close();
    }

}

class Stack{
    // 栈属性
    // 栈中数据
    int[] data;
    // 栈顶元素
    int top;
    // 当前栈长度
    int currentLen = 0;
    // 栈最大长度,用来初始化栈
    int maxSize;

    // 栈构造器
    public Stack (int maxSize){
        this.maxSize = maxSize;
        data = new int[maxSize];
    }

    // 栈方法
    // 压栈
    public void push(int pNum){
        if(this.currentLen == this.maxSize){
            return;
        }else{
            data[currentLen] = pNum;
            currentLen++;
        }
    }

    // 弹栈
    public void pop(){
        if(this.currentLen == 0){
            System.out.println("error");
        }else{
            currentLen--;
            System.out.println(data[currentLen]);
        }
    }

    // 查看栈顶元素
    public void top(){
        if(this.currentLen == 0){
            System.out.println("error");
        }else{
            System.out.println(data[currentLen - 1]);
        }
    }
}