#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();

while(1){
	double a, b, val;
	int kazu;

    scanf("%d", &kazu);
    if (kazu == 9) {
        break;
    }

    switch (kazu) {
        case 1:
            b = pop();
            a = pop();
            push(a + b);
            break;
        case 2:
            b = pop();
            a = pop();
            push(a - b);
            break;
        case 3:
            b = pop();
            a = pop();
            push(a * b);
            break;
        case 4:
            b = pop();
            a = pop();
            push(a / b);
            break;
        case 5:
            scanf("%lf", &val);
            push(val);
            printf("data:%f\n", val);
            break;
    }
}

answer();

return 0;
}
void push(double value)
{
if (!isFull()) {
        stack[sp++] = value;
    }
}
double pop(void)
{
	if (!isEmpty()) {
        return stack[--sp];
    }
    return 0;
}
int isFull(void)
{
	if (sp>=SIZE)
	printf("スタックが満杯です\n");
}
int isEmpty(void)
{
	if (sp<=0)
	printf("スタックが空です\n");
}
void answer(void)
{
if (sp > 0) {
     printf("answer:%f\n", stack[sp - 1]);	
}
}
void reset(void)
{
	sp=0;
}
