#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();
while(1)
{
int resp,data,cal1,cal2;
if(resp==9)
break;
switch(resp){
case 1:
cal1=pop();
cal2=pop();
push(cal2+cal1);
break;
case 2:
cal1=pop();
cal2=pop();
push(cal2-cal1);
break;
case 3:
cal1=pop();
cal2=pop();
push(cal2*cal1);
break;
case 4:
cal1=pop();
cal2=pop();
push(cal2/cal1);
break;
case 5:
push(data);
break;
}
}
answer();
return 0;
}
void push(double value){
if(isFull()==1)
stack[sp++]=value;
else
printf("スタックが満杯で入りませんでした。\n"); }
double pop(void)
{
if(isEmpty()==1)
return stack[--sp];
else
printf("スタックが空で取り出せませんでした。\n"); return 0;
}
int isFull(void){
if(sp>=SIZE)
return 0;
else
return 1;
}
int isEmpty(void){
if(sp<=0)
return 0;
else
return 1;
}
void answer(void){
}
void reset(void){
sp=0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkgewoJcmVzZXQoKTsKCXdoaWxlKDEpCgkJewoJCQlpbnQgcmVzcCxkYXRhLGNhbDEsY2FsMjsKCQkJc2NhbmYoIiVkIiwmcmVzcCk7CgkJCQoJCQlpZihyZXNwPT05KQoJCQkJYnJlYWs7CgkJCQoJCQlzd2l0Y2gocmVzcCl7CgkJCQljYXNlIDE6CgkJCQkJY2FsMT1wb3AoKTsKCQkJCQljYWwyPXBvcCgpOwoJCQkJCXB1c2goY2FsMitjYWwxKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgMjoKCQkJCQljYWwxPXBvcCgpOwoJCQkJCWNhbDI9cG9wKCk7CgkJCQkJcHVzaChjYWwyLWNhbDEpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAzOgoJCQkJCWNhbDE9cG9wKCk7CgkJCQkJY2FsMj1wb3AoKTsKCQkJCQlwdXNoKGNhbDIqY2FsMSk7CgkJCQkJYnJlYWs7CgkJCQljYXNlIDQ6CgkJCQkJY2FsMT1wb3AoKTsKCQkJCQljYWwyPXBvcCgpOwoJCQkJCXB1c2goY2FsMi9jYWwxKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgNToKCQkJCQlzY2FuZigiJWQiLCZkYXRhKTsKCQkJCQlwcmludGYoImRhdGE6JWRcbiIsZGF0YSk7CgkJCQkJcHVzaChkYXRhKTsKCQkJCQlicmVhazsKCQl9Cgl9CglhbnN3ZXIoKTsKCQoJcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpewoJCglpZihpc0Z1bGwoKT09MSkKCQlzdGFja1tzcCsrXT12YWx1ZTsKCWVsc2UKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOa6gOadr+OBp+WFpeOCiuOBvuOBm+OCk+OBp+OBl+OBn+OAglxuIik7Cn0KCmRvdWJsZSBwb3Aodm9pZCkKewoJaWYoaXNFbXB0eSgpPT0xKQoJCXJldHVybiBzdGFja1stLXNwXTsKCWVsc2UKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+WPluOCiuWHuuOBm+OBvuOBm+OCk+OBp+OBl+OBn+OAglxuIik7CglyZXR1cm4gMDsKfQoKaW50IGlzRnVsbCh2b2lkKXsKCWlmKHNwPj1TSVpFKQoJCXJldHVybiAwOwoJZWxzZQoJCXJldHVybiAxOwp9CgppbnQgaXNFbXB0eSh2b2lkKXsKCWlmKHNwPD0wKQoJCXJldHVybiAwOwoJZWxzZQoJCXJldHVybiAxOwp9Cgp2b2lkIGFuc3dlcih2b2lkKXsKCXByaW50ZigiYW5zd2VyOiVmXG4iLHBvcCgpKTsKfQoKdm9pZCByZXNldCh2b2lkKXsKCXNwPTA7Cn0=