//使用BufferReader缓冲输入,使用PrintWriter输出。
//把BufferReader的实例化read传入SteamTokenizer中,实现流缓冲读取。
//但是每次读取要调用SteamTokenizer的实例化tokenizer的nextToken方法。
//读取存入nval(这是double类型)或sval(这是string类型),默认跳过\n和" "。
import java.io.*;
public class Main {
    
    public static void main(String[] args) throws IOException{
        BufferedReader read=new BufferedReader(new InputStreamReader(System.in));
        StreamTokenizer tokenizer=new StreamTokenizer(read);
        PrintWriter writer=new PrintWriter(new OutputStreamWriter(System.out),true);
        tokenizer.nextToken();
        int N=(int)tokenizer.nval;
        final int MAX_L=100000;
        int[] arr=new int[MAX_L];
        int top=0;
        
        for(int i=0;i<N;i++){
            tokenizer.nextToken();
            String str=tokenizer.sval;
            switch(str){
                case "push":
                    tokenizer.nextToken();
                    int temp=(int)tokenizer.nval;
                    arr[top]=temp;
                    top++;
                    break;
                case "pop":
                    if(top!=0){
                        top--;
                    }else{
                        writer.println("Empty");
                    }
                    break;
                case "query":
                    if(top!=0){
                        writer.println(arr[top-1]);
                    }else{
                        writer.println("Empty");
                    }
                    break;
                case "size":
                    writer.println(top);
                    break;
            }
        }
        read.close();
        writer.close();
    }
}