import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    /**
    ArrayDeque替代Stack,因为stack是线程安全的,性能相对较差,使用ArrayDeque
    1.push(x),整数入栈,ArrayDeque.push
    2.pop(),栈非空ArrayDeque.isEmpty(),删除栈顶元素ArrayDeque.pop,
    3.query(),输出栈顶元素ArrayDeque.peek()
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Deque<Integer> stack = new ArrayDeque<>();
        int n = in.nextInt();
        in.nextLine();//手动消费
        // 注意 hasNext 和 hasNextLine 的区别
        while (n-->0) { // 注意 while 处理多个 case
            String s = in.nextLine();
            String[] arr = s.split(" ");
            switch(arr[0]){
                case "push":
                    stack.push(Integer.parseInt(arr[1]));
                    break;
                case "size":
                    System.out.println(stack.size());
                    break;
                case "query":
                    if(stack.isEmpty()){
                        System.out.println("Empty");
                    }else{
                        System.out.println(stack.peek());
                    }
                    break;
                case "pop":
                    if(stack.isEmpty()){
                        System.out.println("Empty");
                    }else{
                        stack.pop();
                    }               
                    break;
                default:
                    break;
            }

        }
    }
}