#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();
sp=0;
int resp;
double data;
while(1)
{
if(resp==9) break;
int cal1,cal2;
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())
{
}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\n",stack
[0]); }
void reset(void){
while(isEmpty() == 0)
pop();
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrIFtTSVpFXTsKaW50IHNwOwoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSk7CmRvdWJsZSBwb3Aodm9pZCk7CmludCBpc0Z1bGwodm9pZCk7CmludCBpc0VtcHR5KHZvaWQpOwp2b2lkIGFuc3dlcih2b2lkKTsKdm9pZCByZXNldCh2b2lkKTsKCmludCBtYWluKHZvaWQpCnsKcmVzZXQoKTsKCiAgc3A9MDsKICBpbnQgcmVzcDsKICBkb3VibGUgZGF0YTsKCndoaWxlKDEpIAp7CiAgc2NhbmYoIiVkIiwgJnJlc3ApOwogIAogIGlmKHJlc3A9PTkpIGJyZWFrOwoKICBpbnQgY2FsMSxjYWwyOwoKICBzd2l0Y2gocmVzcCkKewogICAgIGNhc2UgMTogCiAgICAgICBjYWwxPXBvcCgpOyAgICAgCiAgICAgICBjYWwyPXBvcCgpOyAKICAgICAgIHB1c2goY2FsMitjYWwxKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMjoKICAgICAgIGNhbDE9cG9wKCk7CiAgICAgICBjYWwyPXBvcCgpOwogICAgICAgcHVzaChjYWwyLWNhbDEpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAzOgogICAgICAgY2FsMT1wb3AoKTsKICAgICAgIGNhbDI9cG9wKCk7CiAgICAgICBwdXNoKGNhbDIqY2FsMSk7CiAgICAgICBicmVhazsKICAgICBjYXNlIDQ6CiAgICAgICBjYWwxPXBvcCgpOwogICAgICAgY2FsMj1wb3AoKTsKICAgICAgIHB1c2goY2FsMi9jYWwxKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgNToKICAgICAgIHNjYW5mKCIlbGYiLCYgZGF0YSk7CiAgICAgICBwcmludGYoImRhdGE6JWxmXG4iLGRhdGEpOwogICAgICAgcHVzaChkYXRhKTsKICAgICAgIGJyZWFrOwp9CgoKCn0KCgoKCmFuc3dlcigpOwpyZXR1cm4gMDsKCn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKICAgaWYoaXNGdWxsKCkpCiB7CiAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwogfWVsc2UKIHsKIHN0YWNrW3NwKytdPXZhbHVlOwogfQp9CmRvdWJsZSBwb3Aodm9pZCkKeyAKIGlmKGlzRW1wdHkoKSkKIHsgCiAgIHByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44GfXG4iKTsKICAgcmV0dXJuIDA7CiB9ZWxzZQogIHsgCiAgIHJldHVybiBzdGFjayBbLS1zcF07CiAgfQp9IAppbnQgaXNGdWxsKHZvaWQpCnsKIGlmKHNwPj1TSVpFKQogewogIHJldHVybiAxOwoKIH1lbHNlCiAge3JldHVybiAwOwogICB9Cn0KICAgCmludCBpc0VtcHR5KHZvaWQpIAp7CiAgaWYoc3A8PTApewoKICAgICByZXR1cm4gMTsKCn1lbHNlewoKICAgcmV0dXJuIDA7CiB9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpIHsKICAgIHByaW50ZigiYW5zd2VyOiVsZlxuIixzdGFja1swXSk7Cn0KCnZvaWQgcmVzZXQodm9pZCl7CndoaWxlKGlzRW1wdHkoKSA9PSAwKQpwb3AoKTsKfQoKCg==