#include<stdio.h>
#define SIZE 10
double stack[SIZE];
int sp;
int code;
double a,b;
void push(double value)
{
stack[sp]=value;
sp++;
}
double pop(void)
{
sp--;
return stack[sp];
}
int isFull(void)
{
return sp==SIZE;
}
int isEmpty(void)
{
return sp==0;
}
void answer(void)
{
printf("answer:%lf\n",stack
[sp
-1]); }
void reset(void)
{
sp = 0;
}
int main(void)
{
reset();
while(1) {
switch (code)
{
case 1:
b=pop();
a=pop();
push(a+b);
break;
case 2:
b=pop();
a=pop();
push(a-b);
break ;
case 3:
b=pop();
a=pop();
push(a*b);
break;
case 4:
b=pop();
a=pop();
push(a/b);
break;
case 5:
push(a);
break ;
case 9:
answer();
return 0;
}
}
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBTSVpFIDEwCmRvdWJsZSBzdGFja1tTSVpFXTsKaW50IHNwOwppbnQgY29kZTsKZG91YmxlIGEsYjsKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSkKewpzdGFja1tzcF09dmFsdWU7CnNwKys7Cn0KZG91YmxlIHBvcCh2b2lkKQp7CnNwLS07CnJldHVybiBzdGFja1tzcF07Cn0KaW50IGlzRnVsbCh2b2lkKQp7CnJldHVybiBzcD09U0laRTsKfQppbnQgaXNFbXB0eSh2b2lkKQp7CnJldHVybiBzcD09MDsKfQp2b2lkIGFuc3dlcih2b2lkKQp7CnByaW50ZigiYW5zd2VyOiVsZlxuIixzdGFja1tzcC0xXSk7Cn0Kdm9pZCByZXNldCh2b2lkKQp7CnNwID0gMDsKfQppbnQgbWFpbih2b2lkKQp7CnJlc2V0KCk7CndoaWxlKDEpIHsKCSAJc2NhbmYoIiVkIiwmY29kZSk7CgkgCXN3aXRjaCAoY29kZSkKCSAJewoJIAkJY2FzZSAxOgoJIAkJYj1wb3AoKTsKCSAJCWE9cG9wKCk7CgkgCQlwdXNoKGErYik7CgkgCQlicmVhazsKCSAJCQoJIAkJY2FzZSAyOgoJIAkJYj1wb3AoKTsKCSAJCWE9cG9wKCk7CgkgCQlwdXNoKGEtYik7CgkgCQlicmVhayA7CgkgCQkKCSAJCWNhc2UgMzoKCSAJCWI9cG9wKCk7CgkgCQlhPXBvcCgpOwoJIAkJcHVzaChhKmIpOwoJIAkJYnJlYWs7CgkgCQkKCSAJCWNhc2UgNDoKCSAJCWI9cG9wKCk7CgkgCQlhPXBvcCgpOwoJIAkJcHVzaChhL2IpOwoJIAkJYnJlYWs7CgkgCQkKCSAJCWNhc2UgNToKCSAJCXNjYW5mKCIlbGYiLCZhKTsKCSAJCXB1c2goYSk7CgkgCQlwcmludGYoImRhdGE6JWxmIixhKTsKCSAJCWJyZWFrIDsKCSAJCQoJIAkJY2FzZSA5OgoJIAkJYW5zd2VyKCk7CgkgICAgCXJldHVybiAwOwoJIH0KfQp9