#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)
{
    sp = 0;
    reset();

    while (1) {
        int command;
        double basyo1, basyo2, hako;
        if (scanf("%d", &command) != 1) break;

        switch (command) {
            case 1:
                basyo1 = pop();
                basyo2 = pop();
                push(basyo2 + basyo1);
                break;
            case 2:
                basyo1 = pop();
                basyo2 = pop();
                push(basyo2 - basyo1);
                break;
            case 3:
                basyo1 = pop();
                basyo2 = pop();
                push(basyo2 * basyo1);
                break;
            case 4:
                basyo1 = pop();
                basyo2 = pop();
                push(basyo2 / basyo1);
                break;
            case 5:
                if (scanf("%lf", &hako) == 1) {
                    push(hako);
        printf("data:%f\n", hako);
                }
                break;
            case 9:
                answer();
                return 0;
            default:
                break;
        }
    }
    return 0;
}


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


double pop(void)// 
{
    if (sp <= 0) {
        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 (sp > 0) {
        printf("answer:%f\n", stack[sp - 1]);
    } else {
        printf("スタックに要素がありません。\n");
    }
}


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