#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, a, b;
while(1){
if(resp == 9) break;
switch(resp){
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(data);
break;
}
}
answer();
return 0;
}
void push(double value)
{
if(isFull()){
}else{
stack[sp++] = value;
}
}
double pop(void)
{
double value;
if(isEmpty()){
return 0;
}else{
value = stack[--sp];
return value;
}
}
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)
{
if(isEmpty()){
}else{
printf("\nanswer:%f\n", stack
[sp
-1]); }
}
void reset(void)
{
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKQp7CiAgICByZXNldCgpOwoKICAgIGludCByZXNwOwogICAgZG91YmxlIGRhdGEsIGEsIGI7CgogICAgd2hpbGUoMSl7CiAgICAgICAgCiAgICAgICAgc2NhbmYoIiVkIiwgJnJlc3ApOwoKICAgICAgICBpZihyZXNwID09IDkpIGJyZWFrOwoKICAgICAgICBzd2l0Y2gocmVzcCl7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIGIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSArIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBiID0gcG9wKCk7CiAgICAgICAgICAgICAgICBhID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGEgLSBiKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICAgICAgYiA9IHBvcCgpOwogICAgICAgICAgICAgICAgYSA9IHBvcCgpOwogICAgICAgICAgICAgICAgcHVzaChhICogYik7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgIGIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSAvIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgICAgICBzY2FuZigibGYiLCAmZGF0YSk7CiAgICAgICAgICAgICAgICBwcmludGYoImRhdGElZlxuIiwgZGF0YSk7CiAgICAgICAgICAgICAgICBwdXNoKGRhdGEpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKICAgIGFuc3dlcigpOwogICAgcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKICAgIGlmKGlzRnVsbCgpKXsKICAgICAgICBwcmludGYoIuOCueOCv+ODg+OCr+OBr+a6gOadr+OBp+OBmVxuIik7CiAgICB9ZWxzZXsKICAgICAgICBzdGFja1tzcCsrXSA9IHZhbHVlOwogICAgfQp9Cgpkb3VibGUgcG9wKHZvaWQpCnsKICAgIGRvdWJsZSB2YWx1ZTsKCiAgICBpZihpc0VtcHR5KCkpewogICAgICAgIHByaW50Zigi44K544K/44OD44Kv44Gv56m644Gn44GZXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH1lbHNlewogICAgICAgIHZhbHVlID0gc3RhY2tbLS1zcF07CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgfQp9CgppbnQgaXNGdWxsKHZvaWQpCnsKICAgIGlmKHNwID09IFNJWkUpewogICAgICAgIHJldHVybiAxOwogICAgfWVsc2V7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0KCmludCBpc0VtcHR5KHZvaWQpCnsKICAgIGlmKHNwID09IDApewogICAgICAgIHJldHVybiAxOwogICAgfWVsc2V7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpCnsKICAgIGlmKGlzRW1wdHkoKSl7CiAgICAgICAgcHJpbnRmKCLoqIjnrpfntZDmnpzjgYzjgYLjgorjgb7jgZvjgpNcbiIpOwogICAgfWVsc2V7CiAgICAgICAgcHJpbnRmKCJcbmFuc3dlcjolZlxuIiwgc3RhY2tbc3AtMV0pOwogICAgfQp9CnZvaWQgcmVzZXQodm9pZCkKewogICAgc3AgPSAwOwp9