#include <stdio.h>
#define SIZE 10
double stack[SIZE];
int sp;
int isFull(void){
if(sp>=SIZE){
return 1;
}else{
return 0;
}
}
int isEmpty(void){
if(sp<=0){
return 1;
}else{
return 0;
}
}
void push(double value){
if(isFull()){
return;
}else{
stack[sp++]=value;
}
}
double pop(void){
if(isEmpty()){
printf("スタックが空で取り出せませんでした\n"); return 0;
}else{
return stack[--sp];
}
}
void answer(void){
return;
}
void reset(void){
sp=0;
}
int main(void) {
double data,da;
while(1){
if(data==5){
push(da);
}
if(data==1){
double s=0,cal1,cal2;
cal2=pop();
cal1=pop();
s=cal1+cal2;
printf("%lf+%lf=%lf\n",cal1
,cal2
,s
); push(s);
}
if(data==2){
double s=0,cal1,cal2;
cal2=pop();
cal1=pop();
s=cal1-cal2;
printf("%lf-%lf=%lf\n",cal1
,cal2
,s
); push(s);
}
if(data==3){
double s=0,cal1,cal2;
cal2=pop();
cal1=pop();
s=cal1*cal2;
printf("%lf*%lf=%lf\n",cal1
,cal2
,s
); push(s);
}
if(data==4){
double s=0,cal1,cal2;
cal2=pop();
cal1=pop();
s=cal1/cal2;
printf("%lf/%lf=%lf\n",cal1
,cal2
,s
); push(s);
}
if(data==9){
answer();
break;
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7CgppbnQgaXNGdWxsKHZvaWQpewoJaWYoc3A+PVNJWkUpewoJCXJldHVybiAxOwoJfWVsc2V7CgkJcmV0dXJuIDA7Cgl9Cn0KCmludCBpc0VtcHR5KHZvaWQpewoJaWYoc3A8PTApewoJCXJldHVybiAxOwoJfWVsc2V7CgkJcmV0dXJuIDA7CQoJfQp9CgoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSl7CglpZihpc0Z1bGwoKSl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwoJCXJldHVybjsKCX1lbHNlewoJCXN0YWNrW3NwKytdPXZhbHVlOwoJfQp9Cgpkb3VibGUgcG9wKHZvaWQpewoJaWYoaXNFbXB0eSgpKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+WPluOCiuWHuuOBm+OBvuOBm+OCk+OBp+OBl+OBn1xuIik7CgkJcmV0dXJuIDA7Cgl9ZWxzZXsKCQlyZXR1cm4gc3RhY2tbLS1zcF07Cgl9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpewoJcHJpbnRmKCJhbnN3ZXI6JWxmIixwb3AoKSk7CglyZXR1cm47Cn0KCnZvaWQgcmVzZXQodm9pZCl7CglzcD0wOwp9CgppbnQgbWFpbih2b2lkKSB7Cglkb3VibGUgZGF0YSxkYTsKCXdoaWxlKDEpewoJCXNjYW5mKCIlbGYiLCZkYXRhKTsKCQkKCQlpZihkYXRhPT01KXsKCQkJc2NhbmYoIiVsZiIsJmRhKTsKCQkJcHVzaChkYSk7CgkJCXByaW50ZigiZGF0YTolbGZcbiIsZGEpOwoJCX0KCQlpZihkYXRhPT0xKXsKCQkJZG91YmxlIHM9MCxjYWwxLGNhbDI7CgkJCWNhbDI9cG9wKCk7CgkJCWNhbDE9cG9wKCk7CgkJCXM9Y2FsMStjYWwyOwoJCQlwcmludGYoIiVsZislbGY9JWxmXG4iLGNhbDEsY2FsMixzKTsKCQkJcHVzaChzKTsKCQl9CgkJCgkJaWYoZGF0YT09Mil7CgkJCWRvdWJsZSBzPTAsY2FsMSxjYWwyOwoJCQljYWwyPXBvcCgpOwoJCQljYWwxPXBvcCgpOwoJCQlzPWNhbDEtY2FsMjsKCQkJcHJpbnRmKCIlbGYtJWxmPSVsZlxuIixjYWwxLGNhbDIscyk7CgkJCXB1c2gocyk7CgkJfQoJCQoJCWlmKGRhdGE9PTMpewoJCQlkb3VibGUgcz0wLGNhbDEsY2FsMjsKCQkJY2FsMj1wb3AoKTsKCQkJY2FsMT1wb3AoKTsKCQkJcz1jYWwxKmNhbDI7CgkJCXByaW50ZigiJWxmKiVsZj0lbGZcbiIsY2FsMSxjYWwyLHMpOwoJCQlwdXNoKHMpOwoJCX0KCQkKCQlpZihkYXRhPT00KXsKCQkJZG91YmxlIHM9MCxjYWwxLGNhbDI7CgkJCWNhbDI9cG9wKCk7CgkJCWNhbDE9cG9wKCk7CgkJCXM9Y2FsMS9jYWwyOwoJCQlwcmludGYoIiVsZi8lbGY9JWxmXG4iLGNhbDEsY2FsMixzKTsKCQkJcHVzaChzKTsKCQl9CgkJCgkJaWYoZGF0YT09OSl7CgkJCWFuc3dlcigpOwoJCQlicmVhazsKCQl9Cgl9CglyZXR1cm4gMDsKfQo=