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

		if(scanf("%d", &resp) != 1) break; // 読み込みエラー・終了対策

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