#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 reset(void);
void answer(void);
int main(void)
{
int resp;
double data, a, b;
reset();
while(1){
int result
= scanf("%d", &resp
);
if(result == EOF){
break;
}
if(result != 1){
break;
}
if(resp == 0) break;
switch(resp){
case 1:
if(sp < 2){
printf("Not enough data in stack\n"); break;
}
b = pop();
a = pop();
push(a + b);
break;
case 2:
if(sp < 2){
printf("Not enough data in stack\n"); break;
}
b = pop();
a = pop();
push(a - b);
break;
case 3:
if(sp < 2){
printf("Not enough data in stack\n"); break;
}
b = pop();
a = pop();
push(a * b);
break;
case 4:
if(sp < 2){
printf("Not enough data in stack\n"); break;
}
b = pop();
a = pop();
if(b == 0){
printf("Cannot divide by zero\n"); push(a);
push(b);
break;
}
push(a / b);
break;
case 5: if(scanf("%lf", &data
) != 1){ return 1;
}
push(data);
break;
case 9:
answer();
break;
default:
break;
}
}
return 0;
}
void push(double value)
{
if(isFull()){
}else{
stack[sp++] = value;
}
}
double pop(void)
{
if(isEmpty()){
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)
{
double sum = 0;
int i;
for(i = 0; i < sp; i++){
sum += stack[i];
}
}
void reset(void)
{
sp = 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgoKI2RlZmluZSBTSVpFIDEwCgpkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCByZXNldCh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CgppbnQgbWFpbih2b2lkKQp7CiAgICBpbnQgcmVzcDsKICAgIGRvdWJsZSBkYXRhLCBhLCBiOwoKICAgIHJlc2V0KCk7CgogICAgd2hpbGUoMSl7CgogICAgICAgIGludCByZXN1bHQgPSBzY2FuZigiJWQiLCAmcmVzcCk7CgogICAgICAgIGlmKHJlc3VsdCA9PSBFT0YpewogICAgYnJlYWs7Cn0KCmlmKHJlc3VsdCAhPSAxKXsKICAgIHByaW50ZigiSW52YWxpZCBpbnB1dFxuIik7CiAgICBicmVhazsKfQoKICAgICAgICBpZihyZXNwID09IDApIGJyZWFrOwoKICAgICAgICBzd2l0Y2gocmVzcCl7CgogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICBpZihzcCA8IDIpewogICAgICAgICAgICAgICAgICAgIHByaW50ZigiTm90IGVub3VnaCBkYXRhIGluIHN0YWNrXG4iKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSArIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBpZihzcCA8IDIpewogICAgICAgICAgICAgICAgICAgIHByaW50ZigiTm90IGVub3VnaCBkYXRhIGluIHN0YWNrXG4iKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSAtIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICBpZihzcCA8IDIpewogICAgICAgICAgICAgICAgICAgIHByaW50ZigiTm90IGVub3VnaCBkYXRhIGluIHN0YWNrXG4iKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGIgPSBwb3AoKTsKICAgICAgICAgICAgICAgIGEgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goYSAqIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICBpZihzcCA8IDIpewogICAgICAgICAgICAgICAgICAgIHByaW50ZigiTm90IGVub3VnaCBkYXRhIGluIHN0YWNrXG4iKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBiID0gcG9wKCk7CiAgICAgICAgICAgICAgICBhID0gcG9wKCk7CgogICAgICAgICAgICAgICAgaWYoYiA9PSAwKXsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkNhbm5vdCBkaXZpZGUgYnkgemVyb1xuIik7CiAgICAgICAgICAgICAgICAgICAgcHVzaChhKTsKICAgICAgICAgICAgICAgICAgICBwdXNoKGIpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHB1c2goYSAvIGIpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgCQljYXNlIDU6ICAgIGlmKHNjYW5mKCIlbGYiLCAmZGF0YSkgIT0gMSl7CiAgICAJCQkJICAgcHJpbnRmKCJJbnZhbGlkIGlucHV0XG4iKTsKICAgIAkJCQkgICByZXR1cm4gMTsKCQkJCQkJICB9CgoJCQkJCQkgcHVzaChkYXRhKTsKCQkJCQkJIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgICAgYW5zd2VyKCk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICBwcmludGYoIkludmFsaWQgY29tbWFuZFxuIik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKICAgIGlmKGlzRnVsbCgpKXsKICAgICAgICBwcmludGYoInN0YWNrIGlzIGZ1bGxcbiIpOwogICAgfWVsc2V7CiAgICAgICAgc3RhY2tbc3ArK10gPSB2YWx1ZTsKICAgIH0KfQoKZG91YmxlIHBvcCh2b2lkKQp7CiAgICBpZihpc0VtcHR5KCkpewogICAgICAgIHByaW50Zigic3RhY2sgaXMgZW1wdHlcbiIpOwogICAgICAgIHJldHVybiAwOwogICAgfWVsc2V7CiAgICAgICAgcmV0dXJuIHN0YWNrWy0tc3BdOwogICAgfQp9CgppbnQgaXNGdWxsKHZvaWQpCnsKICAgIGlmKHNwID49IFNJWkUpewogICAgICAgIHJldHVybiAxOwogICAgfWVsc2V7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0KCmludCBpc0VtcHR5KHZvaWQpCnsKICAgIGlmKHNwIDw9IDApewogICAgICAgIHJldHVybiAxOwogICAgfWVsc2V7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0KCgp2b2lkIGFuc3dlcih2b2lkKQp7CiAgICBkb3VibGUgc3VtID0gMDsKICAgIGludCBpOwoKICAgIGZvcihpID0gMDsgaSA8IHNwOyBpKyspewogICAgICAgIHByaW50ZigiRGF0YSAlZFxuIiwgaSArIDEpOwogICAgICAgIHN1bSArPSBzdGFja1tpXTsKICAgIH0KCiAgICBwcmludGYoIkFuc3dlciAlZ1xuIiwgc3VtKTsKfQoKCnZvaWQgcmVzZXQodm9pZCkKewogICAgc3AgPSAwOwp9Cg==