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