#include <stdio.h>
#include <string.h>
struct Stack
{
    int str[100000];
    int top;
};
typedef struct Stack* Pstack;

Pstack inistack(void)
{
    Pstack s = (struct Stack *)malloc(sizeof(struct Stack));
    s->top = -1;
    return s;
}
void push(Pstack s, int x)
{
    s->str[s->top + 1] = x;
    s->top++;
}
int pop(Pstack s)
{
    int ans;
    ans = s->str[s->top];
    s->top--;
    return ans;
}
int top(Pstack s)
{
    return s->str[s->top];  
}
int main() 
{
    int n, i, ret, t, res;
    char op[5];
    Pstack s;
    s = inistack();
    scanf("%d",&n);
    for(i = 0; i < n; i++)
    {
        ret = scanf("%s %d",op, &t);
        if(ret == 1)
        {
            if(strcmp(op,"pop") == 0)
            {
                if(s->top == -1)
                {
                    printf("error\n");
                }
                else
                {
                    res = pop(s);
                    printf("%d\n",res);
                }
            }
            else
            {
                if(s->top == -1)
                {
                    printf("error\n");
                }
                else
                {
                    res = top(s);
                    printf("%d\n",res);
                }
            }
        }
        else
        {
            push(s,t);
        }
    }
    return 0;
}