#include <stdio.h>
#include <stdint.h>
#include <string.h>
#define MAX 10
typedef struct {
int buffer[MAX];
int top;
} stack_t;
stack_t myStack = {. top = 0};
char command[10];
int value;
void process_stack(int n) {
// Your logic here
for (int i = 0; i < n; ++i) {
scanf("%s", command);
if (strcmp(command, "push") == 0) {
scanf("%d", &value);
getchar();
if (myStack.top < MAX) myStack.buffer[myStack.top++] = value;
else printf("Stack Overflow\n");
}
else if (strcmp(command, "pop") == 0) {
if (myStack.top > 0) printf("%d\n", myStack.buffer[--myStack.top]);
else printf("Stack Underflow\n");
}
}
}
int main() {
int n;
scanf("%d", &n);
getchar(); // Consume newline after number
process_stack(n);
return 0;
}