#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;
	scanf("%d",&command);
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:
		scanf("%lf",&hako);
		push(hako);
		break;

	case 9:
		answer();
		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:%lf\n",stack[sp-1]);
	}else{
		return;
	}
}

void reset(void)//スタックの中身をリセット
{
	sp=0;
}
