#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 sp;
double val, cal1, cal2;
if (sp == 9) {
break;
}
switch (sp) {
case 1:
cal2 = pop();
cal1 = pop();
push(cal1 + cal2);
break;
case 2:
cal2 = pop();
cal1 = pop();
push(cal1 - cal2);
break;
case 3:
cal2 = pop();
cal1 = pop();
push(cal1 * cal2);
break;
case 4:
cal2 = pop();
cal1 = pop();
push(cal1 / cal2);
break;
case 5:
push(val);
break;
}
}
answer();
return 0;
}
void push(double value){
if (isFull() == 0) {
stack[sp++] = value;
} else {
}
}
double pop(void){
if (isEmpty() == 0) {
return stack[--sp];
} else {
return 0;
}
}
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:%f\n", stack
[sp
- 1]); }
void reset(void){
while(!isEmpty()){
pop();
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goIGRvdWJsZSB2YWx1ZSk7CmRvdWJsZSBwb3Aodm9pZCk7CmludCBpc0Z1bGwodm9pZCk7CmludCBpc0VtcHR5KHZvaWQpOwp2b2lkIGFuc3dlcih2b2lkKTsKdm9pZCByZXNldCh2b2lkKTsKCmludCBtYWluKHZvaWQpewoJcmVzZXQoKTsKCndoaWxlKDEpewoJaW50IHNwOwogICAgICAgIGRvdWJsZSB2YWwsIGNhbDEsIGNhbDI7CiAgICAgICAgCiAgICAgICAgc2NhbmYoIiVkIiwgJnNwKTsKICAgICAgICAKICAgICAgICBpZiAoc3AgPT0gOSkgewogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc3dpdGNoIChzcCkgewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICBjYWwyID0gcG9wKCk7CiAgICAgICAgICAgICAgICBjYWwxID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGNhbDEgKyBjYWwyKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBjYWwyID0gcG9wKCk7CiAgICAgICAgICAgICAgICBjYWwxID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGNhbDEgLSBjYWwyKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICBjYWwyID0gcG9wKCk7CiAgICAgICAgICAgICAgICBjYWwxID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGNhbDEgKiBjYWwyKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICBjYWwyID0gcG9wKCk7CiAgICAgICAgICAgICAgICBjYWwxID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGNhbDEgLyBjYWwyKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgICAgICBzY2FuZigiJWxmIiwgJnZhbCk7CiAgICAgICAgICAgICAgICBwdXNoKHZhbCk7CiAgICAgICAgICAgICAgICBwcmludGYoImRhdGE6JWZcbiIsIHZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9Cn0KICAgICAgICBhbnN3ZXIoKTsKICAgICAgICByZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSl7CglpZiAoaXNGdWxsKCkgPT0gMCkgewogICAgICAgIAogICAgICAgIHN0YWNrW3NwKytdID0gdmFsdWU7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiU3RhY2sgaXMgZnVsbC5cbiIpOwogICAgfQp9CmRvdWJsZSBwb3Aodm9pZCl7CglpZiAoaXNFbXB0eSgpID09IDApIHsKICAgICAgICByZXR1cm4gc3RhY2tbLS1zcF07CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiU3RhY2sgaXMgZW1wdHkuXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KfQppbnQgaXNGdWxsKHZvaWQpewoJaWYgKHNwID49IFNJWkUpIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0KaW50IGlzRW1wdHkodm9pZCl7CmlmIChzcCA8PSAwKSB7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAwOwogICAgfQp9CnZvaWQgYW5zd2VyKHZvaWQpewoJcHJpbnRmKCJhbnN3ZXI6JWZcbiIsIHN0YWNrW3NwIC0gMV0pOwp9CnZvaWQgcmVzZXQodm9pZCl7Cgl3aGlsZSghaXNFbXB0eSgpKXsKCSBwb3AoKTsKCX0KfQ==