#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)
{
int resp;
double value;
double cal1, cal2;
reset();
while (1) {
if (scanf("%d", &resp
) != 1) { return 0;
}
if (resp==9) {
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:
if (stack[sp - 1] == 0.0) {
}
else {
cal2 = pop();
cal1 = pop();
push(cal1 / cal2);
}
break;
case 5:
push(value);
break;
}
}
answer();
return 0;
}
void push(double value)
{
if (isFull() == 1) {
} else {
stack[sp] = value;
sp++;
}
}
double pop(void)
{
if (isEmpty() == 1) {
printf("スタックが空で取り出せませんでした\n"); return 0.0;
} else {
sp--;
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("answer:%f\n", stack
[sp
- 1]); }
void reset(void)
{
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKCmRvdWJsZSBzdGFja1tTSVpFXTsKaW50IHNwOwoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSk7CmRvdWJsZSBwb3Aodm9pZCk7CmludCBpc0Z1bGwodm9pZCk7CmludCBpc0VtcHR5KHZvaWQpOwp2b2lkIGFuc3dlcih2b2lkKTsKdm9pZCByZXNldCh2b2lkKTsKCmludCBtYWluKHZvaWQpCnsKICAgIGludCByZXNwOwogICAgZG91YmxlIHZhbHVlOwogICAgZG91YmxlIGNhbDEsIGNhbDI7CgogICAgcmVzZXQoKTsKCiAgICB3aGlsZSAoMSkgewogICAgICAgIGlmIChzY2FuZigiJWQiLCAmcmVzcCkgIT0gMSkgewogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CgogICAgICAgIGlmIChyZXNwPT05KSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgc3dpdGNoIChyZXNwKSB7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIGNhbDIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGNhbDEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goY2FsMSArIGNhbDIpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBjYWwyID0gcG9wKCk7CiAgICAgICAgICAgICAgICBjYWwxID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGNhbDEgLSBjYWwyKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICAgICAgY2FsMiA9IHBvcCgpOwogICAgICAgICAgICAgICAgY2FsMSA9IHBvcCgpOwogICAgICAgICAgICAgICAgcHVzaChjYWwxICogY2FsMik7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgIGlmIChzdGFja1tzcCAtIDFdID09IDAuMCkgewogICAgICAgICAgICAgICAgCXByaW50ZigiMOOBp+WJsuOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCk1xuIik7CiAgICAgICAgICAgICAgICB9IAogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgY2FsMiA9IHBvcCgpOwogICAgICAgICAgICAgICAgICAgIGNhbDEgPSBwb3AoKTsKICAgICAgICAgICAgICAgICAgICBwdXNoKGNhbDEgLyBjYWwyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICAgICAgc2NhbmYoIiVsZiIsICZ2YWx1ZSk7CiAgICAgICAgICAgICAgICBwdXNoKHZhbHVlKTsKICAgICAgICAgICAgICAgIHByaW50ZigiZGF0YTolZlxuIiwgdmFsdWUpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKICAgIGFuc3dlcigpOwoKICAgIHJldHVybiAwOwp9Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKQp7CiAgICBpZiAoaXNGdWxsKCkgPT0gMSkgewogICAgICAgIHByaW50Zigi44K544K/44OD44Kv44GM5rqA5p2v44Gn5YWl44KK44G+44Gb44KT44Gn44GX44GfXG4iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgc3RhY2tbc3BdID0gdmFsdWU7CiAgICAgICAgc3ArKzsKICAgIH0KfQoKZG91YmxlIHBvcCh2b2lkKQp7CiAgICBpZiAoaXNFbXB0eSgpID09IDEpIHsKICAgICAgICBwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+WPluOCiuWHuuOBm+OBvuOBm+OCk+OBp+OBl+OBn1xuIik7CiAgICAgICAgcmV0dXJuIDAuMDsKICAgIH0gZWxzZSB7CiAgICAgICAgc3AtLTsKICAgICAgICByZXR1cm4gc3RhY2tbc3BdOwogICAgfQp9CgppbnQgaXNGdWxsKHZvaWQpCnsKICAgIGlmIChzcCA+PSBTSVpFKSB7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAwOwogICAgfQp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CiAgICBpZiAoc3AgPT0gMCkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KfQoKdm9pZCBhbnN3ZXIodm9pZCkKewogICAgcHJpbnRmKCJhbnN3ZXI6JWZcbiIsIHN0YWNrW3NwIC0gMV0pOwp9Cgp2b2lkIHJlc2V0KHZvaWQpCnsKICAgIHNwID0gMDsKfQ==