1#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

#define MAX_STACK 5
#define MAX_LINE 50

int isInteger(char *str) {
    if (*str == '\0') return 0;
    if (*str == '-' || *str == '+') str++;
    if (*str == '\0') return 0;
    while (*str) {
        if (!isdigit(*str)) return 0;
        str++;
    }
    return 1;
}

int main() {
    int n;
    if (scanf("%d\n", &n) != 1) {
        printf("Invalid input\n");
        return 0;
    }
    if (n < 1 || n > 1000) {
        printf("Invalid input\n");
        return 0;
    }

    int stack[MAX_STACK];
    int top = -1;

    char line[MAX_LINE];
    for (int i = 0; i < n; i++) {
        if (!fgets(line, sizeof(line), stdin)) {
            printf("Invalid input\n");
            return 0;
        }
        // Remove trailing newline
        line[strcspn(line, "\n")] = 0;

        if (strncmp(line, "push ", 5) == 0) {
            char *numStr = line + 5;
            if (!isInteger(numStr)) {
                printf("Invalid input\n");
                continue;
            }
            int value = atoi(numStr);
            if (top == MAX_STACK - 1) {
                printf("Stack overflow\n");
            } else {
                stack[++top] = value;
            }
        } else if (strcmp(line, "peek") == 0) {
            if (top == -1) {
                printf("Stack is empty\n");
            } else {
                printf("%d\n", stack[top]);
            }
        } else {
            printf("Invalid input\n");
        }
    }

    return 0;
}