#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;
    double data, cal1, cal2;

    while (1) {
        if (scanf("%d", &resp)!=1) break; 
        if (resp == 0) break; 

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

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

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

            case 4: 
                cal2 = pop();
                cal1 = pop();
                push(cal1 / cal2);
                break;

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

            case 9: 
                answer();
                printf("\n");
                break;
        }
    }

    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) {
    if (!isEmpty()) {
        printf("answer:%f\n", pop());
    }
}

void reset(void) {
    sp = 0;
}