#include<stdio.h>

#define SIZE 10
double stack[SIZE];
int sp;

void push(double value);
double pop(void);
int isFull(void);
int isEmpty(void);
void answer(void);
void reset(void);


int main(void){
    reset();
    int resp, date;
    while(1){
        //(1)
        printf("1:+ 2:- 3:* 4:/ 5:push 9:answer\n");
        scanf("%d", &resp);
        if(resp==9){
            break;
        }
        else{
            switch(resp){
                case 1: 
                    push(pop()+pop());
                    break;
                case 2:
                    push(pop()-pop());
                    break;
                case 3:
                    push(pop()*pop());
                    break;
                case 4:
                    push(pop()/pop());
                    break;
                case 5:
                    printf("push:\n");
                    scanf("%d",&date);
                    push(date);
                    break;
            }
        }
    }
    answer();

    return 0;
}
void push(double value){
    //(2)
    if(isFull()!=0){
        stack[sp++]=value;
    }
    printf("date:%f\n", stack[sp-1]);
}
double pop(void){
    //(3)
    if(isEmpty()!=0){
        return stack[--sp];
    }
    else return 1;
}
int isFull(void){
    //(4)
    if(sp>=SIZE){
        printf("スタックが満杯で入りませんでした\n");
        return 0;
    }
    else return 1;
}
int isEmpty(void){
    //(5)
    if(sp<=0){
        printf("スタックが空で取り出せませんでした\n");
        return 0;
    }
    else return 1;
}
void answer(void){
    //(6)
    printf("answer:%f", stack[0]);
}
void reset(void){
    //(7)
    sp=0;
}
