#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){
double a,b;
if(resp==9) break;
switch(resp){
case 1:
a=pop();
b=pop();
push(a+b);
break;
case 2:
a=pop();
b=pop();
push(b-a);
break;
case 3:
a=pop();
b=pop();
push(a*b);
break;
case 4:a=pop();
b=pop();push(b/a);
break;
case 5:{scanf("%lf",&data
); push(data);
break;}
}
}
answer();
return 0;
}
void push (double value)
{
if(isFull()){
printf("スタックが満杯で入りませんでした。\n"); }else{
stack[sp++]=value;
}
}
double pop(void)
{
if(isEmpty()){
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)
{
printf("answer: %lf", stack
[0]);
}
void reset(void)
{
sp=0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkKewoJcmVzZXQoKTsKCWludCByZXNwOwoJIGRvdWJsZSBkYXRhOwp3aGlsZSgxKXsKCSBzY2FuZigiJWQiLCZyZXNwKTsKCSBkb3VibGUgYSxiOwoJIGlmKHJlc3A9PTkpIGJyZWFrOwoJIAoJIHN3aXRjaChyZXNwKXsKCSAJIAoJIAljYXNlIDE6CgkgCWE9cG9wKCk7CgkgCSBiPXBvcCgpOwoJIAkgcHVzaChhK2IpOwoJIAlicmVhazsKCSAJY2FzZSAyOgoJIAlhPXBvcCgpOwoJCSBiPXBvcCgpOwoJCSBwdXNoKGItYSk7CgkgCWJyZWFrOwoJIAljYXNlIDM6CgkgCSBhPXBvcCgpOwoJIAkgYj1wb3AoKTsKCSAJIHB1c2goYSpiKTsKCSAJYnJlYWs7CgkgCWNhc2UgNDphPXBvcCgpOwoJIAkgYj1wb3AoKTtwdXNoKGIvYSk7CgkgCWJyZWFrOwoJIAljYXNlIDU6e3NjYW5mKCIlbGYiLCZkYXRhKTsKCSAJICAgICAgcHVzaChkYXRhKTsKCSAJICAgICAgcHJpbnRmKCJkYXRhOiVsZlxuIixkYXRhKTsKCSAgICAgICAgICBicmVhazt9CgkgfQp9CgkgYW5zd2VyKCk7CgkgCgkgcmV0dXJuIDA7Cgp9CnZvaWQgcHVzaCAoZG91YmxlIHZhbHVlKQp7CiAgIGlmKGlzRnVsbCgpKXsKICAgCSAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ/jgIJcbiIpOwogICB9ZWxzZXsKICAgCSAgICAgc3RhY2tbc3ArK109dmFsdWU7CiAgIH0JCn0KZG91YmxlIHBvcCh2b2lkKQp7CiAgICAgaWYoaXNFbXB0eSgpKXsKICAgICAJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwogICAgIAlyZXR1cm4gMDsKICAgICB9ZWxzZXsKICAgICAJIHJldHVybiBzdGFja1stLXNwXTsKICAgICB9CQp9CmludCBpc0Z1bGwodm9pZCkKewogIGlmKHNwPj1TSVpFKXsKICAJcmV0dXJuIDE7CiAgfQllbHNlewogIAkgICAgcmV0dXJuIDA7CiAgfQp9CmludCBpc0VtcHR5KHZvaWQpCnsKICBpZihzcDw9MCl7CiAgCXJldHVybiAxOwogIH0JZWxzZXsKICAJICAgIHJldHVybiAwOwogIH0JCn0Kdm9pZCBhbnN3ZXIodm9pZCkKewpwcmludGYoImFuc3dlcjogJWxmIiwgc3RhY2tbMF0pOwoKfQp2b2lkIHJlc2V0KHZvaWQpCnsKCXNwPTA7Cn0=