#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 n;
switch(n){
case 1: {
double b = pop();
double a = pop();
push(a + b);
break;
}
case 2: {
double b = pop();
double a = pop();
push(a - b);
break;
}
case 3: {
double b = pop();
double a = pop();
push(a * b);
break;
}
case 4: {
double b = pop();
double a = pop();
push(a / b);
break;
}
case 5: {
double x;
push(x);
break;
}
case 9:
answer();
return 0;
default:
return 0;
}
}
}
void push(double value)
{
if(!isFull()){
stack[sp++] = value;
}
}
double pop(void)
{
if(!isEmpty()){
return stack[--sp];
}
return 0;
}
int isFull(void)
{
return sp >= SIZE;
}
int isEmpty(void)
{
return sp == 0;
}
void answer(void)
{
if(!isEmpty()){
printf("answer:%f\n", stack
[sp
-1]); }
}
void reset(void)
{
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkKewogICAgcmVzZXQoKTsKCiAgICB3aGlsZSgxKXsKICAgICAgICBpbnQgbjsKICAgICAgICAKICAgICAgICBzY2FuZigiJWQiLCAmbik7CgogICAgICAgIHN3aXRjaChuKXsKICAgICAgICAgICAgY2FzZSAxOiB7CiAgICAgICAgICAgICAgICBkb3VibGUgYiA9IHBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSArIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSAyOiB7CiAgICAgICAgICAgICAgICBkb3VibGUgYiA9IHBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSAtIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSAzOiB7CiAgICAgICAgICAgICAgICBkb3VibGUgYiA9IHBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSAqIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSA0OiB7CiAgICAgICAgICAgICAgICBkb3VibGUgYiA9IHBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSAvIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSA1OiB7CiAgICAgICAgICAgICAgICBkb3VibGUgeDsKICAgICAgICAgICAgICAgIHNjYW5mKCIlbGYiLCAmeCk7CiAgICAgICAgICAgICAgICBwdXNoKHgpOwogICAgICAgICAgICAgICAgcHJpbnRmKCJkYXRhOiVmXG4iLCB4KTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgOToKICAgICAgICAgICAgICAgIGFuc3dlcigpOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKICAgIGlmKCFpc0Z1bGwoKSl7CiAgICAgICAgc3RhY2tbc3ArK10gPSB2YWx1ZTsKICAgIH0KfQoKZG91YmxlIHBvcCh2b2lkKQp7CiAgICBpZighaXNFbXB0eSgpKXsKICAgICAgICByZXR1cm4gc3RhY2tbLS1zcF07CiAgICB9CiAgICByZXR1cm4gMDsKfQoKaW50IGlzRnVsbCh2b2lkKQp7CiAgICByZXR1cm4gc3AgPj0gU0laRTsKfQoKCmludCBpc0VtcHR5KHZvaWQpCnsKICAgIHJldHVybiBzcCA9PSAwOwp9Cgp2b2lkIGFuc3dlcih2b2lkKQp7CiAgICBpZighaXNFbXB0eSgpKXsKICAgICAgICBwcmludGYoImFuc3dlcjolZlxuIiwgc3RhY2tbc3AtMV0pOwogICAgfQp9Cgp2b2lkIHJlc2V0KHZvaWQpCnsKICAgIHNwID0gMDsKfQo=