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

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

		scanf("%d",&resp);

		if(resp==9){
			break;
		}

		switch(resp){
			case 1:
				d2=pop();
				d1=pop();
				push(d1+d2);
				break;

			case 2:
				d2=pop();
				d1=pop();
				push(d1-d2);
				break;

			case 3:
				d2=pop();
				d1=pop();
				push(d1*d2);
				break;

			case 4:
				d2=pop();
				d1=pop();
				push(d1/d2);
				break;

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

			default:
				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<=0){
		return 1;
	}else{
		return 0;
	}
}

int isEmpty(void){
	if(sp<=0){
		return 1;
	}else{
		return 0;
	}
}

void answer(void){
	printf("\nanswer:%f\n",pop());
}

void reset(void){
	sp=0;
}