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

    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();
                push(cal2 / cal1);
                break;

            case 5:
                printf("data:");
                scanf("%lf", &data);
                push(data);
                printf("%lf\n", data);
                break;
        }
    }

    answer();
    return 0;
}

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

double pop(void)
{
    if (isEmpty()) {
        printf("スタックが空で取り出せませんでした\n");
        return 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)
{
    printf("\n");
    printf("answer:%lf\n", stack[0]);
}

void reset(void)
{
    while (!isEmpty()) {
        pop();
    }
}