#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)
{
    int resp;
    double data, cal1, cal2;

    reset();

    while(1){

       
        scanf("%d", &resp);

       if(resp==9){
                
                break;
}

        switch(resp){

            case 1:
                cal1 = pop();
                cal2 = pop();
                push(cal2 + cal1);
                break;

            case 2:
                cal1 = pop();
                cal2 = pop();
                push(cal2 - cal1);
                break;

            case 3:
                cal1 = pop();
                cal2 = pop();
                push(cal2 * cal1);
                break;

            case 4:
                cal1 = pop();
                cal2 = pop();

                if(cal1 == 0){
                    printf("0では割れません\n");
                    push(cal2);
                    push(cal1);
                }
                else{
                    push(cal2 / cal1);
                }
                break;

            case 5:
                printf("data : ");
                scanf("%lf", &data);
                push(data);
                break;
                
                case 9:
                reset();
                break;

            default:
                printf("入力エラー\n");
        }

        printf("sp=%d\n", sp);
    }

    answer();

    return 0;
}

void push(double value)
{
    if(isFull()){
        printf("スタックが満杯で入りませんでした\n");
    }
    else{
        stack[sp++] = value;
    }
}

double pop(void)
{
    if(isEmpty()){
        printf("スタックが空で取り出せませんでした\n");
        return 0.0;
    }
    else{
        return stack[--sp];
    }
}

int isFull(void)
{
    if(sp >= SIZE){
        return 1;
    }
    else{
        return 0;
    }
}

int isEmpty(void)
{
    if(sp <= 0){
        return 1;
    }
    else{
        return 0;
    }
}

void answer(void)
{
    if(sp > 0){
        printf("data: = %.6f", stack[sp - 1]);
    }
    else{
        printf("\nスタックが空です\n");
    }
}

void reset(void)
{
    sp = 0;
}