#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;
double data;
if(resp == 9) {
break;
}
switch(resp) {
case 1:
push(pop() + pop());
break;
case 2: {
double d2 = pop();
double d1 = pop();
push(d1 - d2);
}
break;
case 3: {
double d2 = pop();
double d1 = pop();
push(d1 * d2);
}
break;
case 4: {
double d2 = pop();
double d1 = pop();
push(d1 / d2);
}
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) {
if(!isEmpty()) {
}
}
void reset(void) {
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkgewogICAgcmVzZXQoKTsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAgaW50IHJlc3A7CiAgICAgICAgZG91YmxlIGRhdGE7CiAgICAgICAgc2NhbmYoIiVkIiwgJnJlc3ApOwoKICAgICAgICBpZihyZXNwID09IDkpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICBzd2l0Y2gocmVzcCkgewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICBwdXNoKHBvcCgpICsgcG9wKCkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjogewogICAgICAgICAgICAgICAgZG91YmxlIGQyID0gcG9wKCk7CiAgICAgICAgICAgICAgICBkb3VibGUgZDEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goZDEgLSBkMik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzOiB7CiAgICAgICAgICAgICAgICBkb3VibGUgZDIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGRvdWJsZSBkMSA9IHBvcCgpOwogICAgICAgICAgICAgICAgcHVzaChkMSAqIGQyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6IHsKICAgICAgICAgICAgICAgIGRvdWJsZSBkMiA9IHBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGQxID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGQxIC8gZDIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICAgIHNjYW5mKCIlbGYiLCAmZGF0YSk7CiAgICAgICAgICAgICAgICBwcmludGYoImRhdGE6JWZcbiIsIGRhdGEpOwogICAgICAgICAgICAgICAgcHVzaChkYXRhKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICAgIGFuc3dlcigpOwogICAgcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpIHsKICAgIGlmKGlzRnVsbCgpKSB7CiAgICAgICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwogICAgfSBlbHNlIHsKICAgICAgICBzdGFja1tzcCsrXSA9IHZhbHVlOwogICAgfQp9Cgpkb3VibGUgcG9wKHZvaWQpIHsKICAgIGlmKGlzRW1wdHkoKSkgewogICAgICAgIHByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44GfXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHN0YWNrWy0tc3BdOwogICAgfQp9CgppbnQgaXNGdWxsKHZvaWQpIHsKICAgIGlmKHNwID49IFNJWkUpIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0KCmludCBpc0VtcHR5KHZvaWQpIHsKICAgIGlmKHNwIDw9IDApIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpIHsKICAgIGlmKCFpc0VtcHR5KCkpIHsKICAgICAgICBwcmludGYoImFuc3dlcjolZlxuIiwgcG9wKCkpOwogICAgfQp9Cgp2b2lkIHJlc2V0KHZvaWQpIHsKICAgIHNwID0gMDsKfQ==