import java.util.Scanner;

public class Section037 {
	static final int MAX = 5;
	static int Stack[] = new int[MAX];
	static int Top = -1;
	
	static int push(int ii) {
		Top++;
		if (Top >= MAX) {
			System.out.printf("Overflow\n");
			Top--;
			return -1;
		}
		Stack[Top] = ii;
		return 0;
	}
	
	static int pop() {
		int r;
		if (Top < 0) {
			System.out.printf("Underflow\n");
			return -1;
		}
		r = Stack[Top];
		Top--;
		return r;
	}
	
	public static void main(String[] args) {
		Scanner scanf = new Scanner(System.in);
		while (true) {
			int i, j, k;
			System.out.printf("작업을 선택하세요.:");
			j = scanf.nextInt();
			if (j == 1)
			{
				System.out.printf("삽입할 숫자를 입력하세요.:");
				k = scanf.nextInt();
				i = push(k);
				if (i == -1) break;
			}
			else if (j == 2)
			{
				i = pop();
				if (i == -1) break;
				else
					System.out.printf("제거한 자료는 %d입니다\n", i);
			}
			else break;
		}
		if (Top < 0)
			System.out.printf("스택에 자료가 없습니다.\n");
		else
		{
			System.out.printf("스택의 자료는 다음과 같습니다.\n");
			for (int i = Top; i >= 0; i--)
				System.out.printf("%10d\n", Stack[i]);
		}
		scanf.close();
	}
}
