#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();
int resp;
double data;
while(1){
switch(resp){
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:
push(data);
break;
case 9:
answer();
return 0;
}
}
return 0;
}
void push(double value)
{
if(isFull()){
} else {
stack[sp++] = value;
}
}
double pop(void)
{
if(isEmpty()){
return 0;
} else {
return stack[--sp];
}
}
int isFull(void)
{
return sp >= SIZE;
}
int isEmpty(void)
{
return sp <= 0;
}
void answer(void)
{
if(!isEmpty()){
printf("Answer:%f\n", stack
[sp
-1]); } else {
}
}
void reset(void)
{
sp = 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKQp7CiAgICByZXNldCgpOwogICAgaW50IHJlc3A7CiAgICBkb3VibGUgZGF0YTsKICAgICAKICAgIHdoaWxlKDEpewogICAgICAgIHNjYW5mKCIlZCIsJnJlc3ApOwogICAgICAgIHN3aXRjaChyZXNwKXsKICAgICAgICAgICAgY2FzZSAxOiB7ICAgCiAgICAgICAgICAgICAgICBkb3VibGUgYiA9IHBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSArIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSAyOiB7ICAgCiAgICAgICAgICAgICAgICBkb3VibGUgYiA9IHBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSAtIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSAzOiB7ICAKICAgICAgICAgICAgICAgIGRvdWJsZSBiID0gcG9wKCk7CiAgICAgICAgICAgICAgICBkb3VibGUgYSA9IHBvcCgpOwogICAgICAgICAgICAgICAgcHVzaChhICogYik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNlIDQ6IHsgIAogICAgICAgICAgICAgICAgZG91YmxlIGIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGRvdWJsZSBhID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGEgLyBiKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgNTogICAgIAogICAgICAgICAgICAgICAgcHJpbnRmKCJkYXRhOiIpOwogICAgICAgICAgICAgICAgc2NhbmYoIiVsZiIsJmRhdGEpOwogICAgICAgICAgICAgICAgcHJpbnRmKCIlZlxuIixkYXRhKTsKICAgICAgICAgICAgICAgIHB1c2goZGF0YSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA5OiAgIAogICAgICAgICAgICAgICAgYW5zd2VyKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKCiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAwOwp9Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKQp7CiAgICBpZihpc0Z1bGwoKSl7CiAgICAgICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jga/muoDmna/jgaflhaXjgorjgY3jgorjgb7jgZvjgpNcbiIpOwogICAgfSBlbHNlIHsKICAgICAgICBzdGFja1tzcCsrXSA9IHZhbHVlOwogICAgfQp9Cgpkb3VibGUgcG9wKHZvaWQpCnsKICAgIGlmKGlzRW1wdHkoKSl7CiAgICAgICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jga/nqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpMhXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHN0YWNrWy0tc3BdOwogICAgfQp9CgppbnQgaXNGdWxsKHZvaWQpCnsKICAgIHJldHVybiBzcCA+PSBTSVpFOwp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CiAgICByZXR1cm4gc3AgPD0gMDsKfQoKdm9pZCBhbnN3ZXIodm9pZCkKewogICAgaWYoIWlzRW1wdHkoKSl7CiAgICAgICAgcHJpbnRmKCJBbnN3ZXI6JWZcbiIsIHN0YWNrW3NwLTFdKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jga/nqbrjgafjgZlcbiIpOwogICAgfQp9Cgp2b2lkIHJlc2V0KHZvaWQpCnsKICAgIHNwID0gMDsKICAgIAp9