import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
Stack1 stack = new Stack1(n);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String str = in.nextLine();
String arr[] = str.split(" ");
if(arr[0].equals("push")){
stack.push(Integer.parseInt(arr[1]));
}else if(arr[0].equals("pop")){
stack.pop();
}else if(arr[0].equals("top")){
stack.top();
}
}
}
}
class Stack1{
int[] data; // 保存数据
int size = 0; // 栈中元素个数
int maxSize ; // 栈的最大容量
int top = 0; // 栈顶指针 (栈顶元素索引+1)
public Stack1(int maxSize){
this.maxSize = maxSize;
this.data = new int[maxSize];
}
public void push(int val){
if(this.size == this.maxSize){
System.out.println("error");
}else{
data[top++] = val;
this.size++;
}
}
public void top(){
if(this.size == 0){
System.out.println("error");
}else{
System.out.println(data[top - 1]); // 打印栈顶元素
}
}
public void pop(){
if(this.size == 0){
System.out.println("error");
}else{
System.out.println(data[--top]);
this.size--; // 栈内元素个数更新-1
}
}
}