#include <stdio.h>
#define SIZE 10
double stack[SIZE];
int sp=0;
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 resp,data;
double a, b;
if (!resp)
break;
switch(resp) {
case 1:
a= pop();
b= pop();
push(a + b);
break;
case 2:
a= pop();
b= pop();
push(a - b);
break;
case 3:
a= pop();
b= pop();
push(a*b);
break;
case 4:
a= pop();
b= pop();
if(b != 0)
push(a/b);
else
break;
case 5:
push(data);
break;
case 9:
answer();
return 0;
}
}
}
void push(double x){
if (isFull()){
}
else {
stack[sp++] = x;
}
}
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("答えは %fです\n", stack
[sp
-1]); }
else{
}
}
void reset(void){
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+ICAKI2RlZmluZSBTSVpFIDEwIApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcD0wOyAgCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOyAgCmRvdWJsZSBwb3Aodm9pZCk7ICAgICAKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7ICAgICAgICAgCnZvaWQgYW5zd2VyKHZvaWQpOyAgICAgICAgICAKdm9pZCByZXNldCh2b2lkKTsgICAgICAgICAgCgppbnQgbWFpbih2b2lkKSB7ICAgICAKcmVzZXQoKTsgICAgICAKd2hpbGUoMSkgeyAgICAgICAgICAgCmludCByZXNwLGRhdGE7ICAgICAgICAgCmRvdWJsZSBhLCBiOwpzY2FuZigiJWQiLCZyZXNwKTsKaWYgKCFyZXNwKQpicmVhazsKICAgICAgICAgICAgICAgICAgCnN3aXRjaChyZXNwKSB7ICAgICAgICAgICAgIApjYXNlIDE6ICAgICAgICAgICAgCmE9IHBvcCgpOyAgICAgICAgICAgICAgICAKYj0gcG9wKCk7ICAgICAgICAgICAgICAgICAKcHVzaChhICsgYik7ICAgICAgICAgICAgICAgICAKYnJlYWs7CiAgICAgICAgICAgICAKY2FzZSAyOiAgICAgICAgICAgICAgICAgCmE9IHBvcCgpOwpiPSBwb3AoKTsgICAgICAgICAgICAgICAgCnB1c2goYSAtIGIpOyAgICAgICAgICAgICAgICAgCmJyZWFrOyAgICAgICAgIAogICAgCmNhc2UgMzoKYT0gcG9wKCk7IApiPSBwb3AoKTsgICAgICAgICAgICAgICAgCnB1c2goYSpiKTsgICAgICAgICAgICAgICAgIApicmVhazsgICAgICAgICAgICAgCgpjYXNlIDQ6CmE9IHBvcCgpOyAgICAgICAgICAgICAgIApiPSBwb3AoKTsgICAgICAgICAgICAgICAgIAppZihiICE9IDApCiAgcHVzaChhL2IpOwplbHNlCnByaW50Zigi54Sh5Yq544Gq5YCk44Gn44GZXG4iKTsgCmJyZWFrOyAKCmNhc2UgNToKc2NhbmYoIiVkIiwmZGF0YSk7CnB1c2goZGF0YSk7ICAgICAgICAgICAKYnJlYWs7CgpjYXNlIDk6CmFuc3dlcigpOyAgICAgICAgICAgICAgICAgCnJldHVybiAwOwogICAgfSAgIAogIH0KfQoKdm9pZCBwdXNoKGRvdWJsZSB4KXsKICBpZiAoaXNGdWxsKCkpewogICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgafjgZlcbiIpOwogICAgfQogIGVsc2UgewogICAgc3RhY2tbc3ArK10gPSB4OwogICAgfQp9ICAKCmRvdWJsZSBwb3Aodm9pZCl7CiAgaWYgKGlzRW1wdHkoKSl7CiAgICBwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+OBmVxuIik7CnJldHVybiAwOwogIH0KICBlbHNlewogICAgcmV0dXJuIHN0YWNrWy0tc3BdOwogIH0KfSAKaW50IGlzRnVsbCh2b2lkKXsKICByZXR1cm4gc3AgPj0gU0laRTsgCn0gIAppbnQgaXNFbXB0eSh2b2lkKXsKICByZXR1cm4gc3AgPT0gMDsKfSAKdm9pZCBhbnN3ZXIodm9pZCkgeyAgIAogIGlmICghaXNFbXB0eSgpKXsKICAgIHByaW50Zigi562U44GI44GvICVm44Gn44GZXG4iLCBzdGFja1tzcC0xXSk7CiAgICAgfSAKICBlbHNlewogICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jga/nqbrjgafjgZlcbiIpOwogIH0KIH0gCgp2b2lkIHJlc2V0KHZvaWQpewogIHNwID0gMDsgCn0=