#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 n;
double x, y;
switch(n) {
case 1:
y = pop();
x = pop();
push(x + y);
break;
case 2: // 引き算
y = pop();
x = pop();
push(x - y);
break;
case 3: // 掛け算
y = pop();
x = pop();
push(x * y);
break;
case 4: // 割り算
y = pop();
x = pop();
push(x / y);
break;
case 5: // データ入力
push(x);
break;
case 9: // 結果表示
answer();
return 0;
}
}
}
void push(double value)
{
if(isFull()) {
printf("Error: stack overflow\n"); } else {
stack[sp++] = value;
}
}
double pop(void)
{
if(isEmpty()) {
printf("Error: stack underflow\n"); return 0.0;
} else {
return stack[--sp];
}
}
int isFull(void)
{
return sp >= SIZE;
}
int isEmpty(void)
{
return sp <= 0;
}
void answer(void)
{
if(!isEmpty()) {
}
}
void reset(void)
{
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkKewogICAgcmVzZXQoKTsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAgaW50IG47CiAgICAgICAgZG91YmxlIHgsIHk7CiAgICAgICAgc2NhbmYoIiVkIiwgJm4pOwoKICAgICAgICBzd2l0Y2gobikgewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICB5ID0gcG9wKCk7CiAgICAgICAgICAgICAgICB4ID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKHggKyB5KTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6ICAvLyDlvJXjgY3nrpcKICAgICAgICAgICAgICAgIHkgPSBwb3AoKTsKICAgICAgICAgICAgICAgIHggPSBwb3AoKTsKICAgICAgICAgICAgICAgIHB1c2goeCAtIHkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzogIC8vIOaOm+OBkeeulwogICAgICAgICAgICAgICAgeSA9IHBvcCgpOwogICAgICAgICAgICAgICAgeCA9IHBvcCgpOwogICAgICAgICAgICAgICAgcHVzaCh4ICogeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA0OiAgLy8g5Ymy44KK566XCiAgICAgICAgICAgICAgICB5ID0gcG9wKCk7CiAgICAgICAgICAgICAgICB4ID0gcG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKHggLyB5KTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDU6ICAvLyDjg4fjg7zjgr/lhaXlipsKICAgICAgICAgICAgICAgIHNjYW5mKCIlbGYiLCAmeCk7CiAgICAgICAgICAgICAgICBwdXNoKHgpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgOTogIC8vIOe1kOaenOihqOekugogICAgICAgICAgICAgICAgYW5zd2VyKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKICAgIGlmKGlzRnVsbCgpKSB7CiAgICAgICAgcHJpbnRmKCJFcnJvcjogc3RhY2sgb3ZlcmZsb3dcbiIpOwogICAgfSBlbHNlIHsKICAgICAgICBzdGFja1tzcCsrXSA9IHZhbHVlOwogICAgICAgIHByaW50ZigiZGF0YTolZlxuIiwgdmFsdWUpOwogICAgfQp9Cgpkb3VibGUgcG9wKHZvaWQpCnsKICAgIGlmKGlzRW1wdHkoKSkgewogICAgICAgIHByaW50ZigiRXJyb3I6IHN0YWNrIHVuZGVyZmxvd1xuIik7CiAgICAgICAgcmV0dXJuIDAuMDsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHN0YWNrWy0tc3BdOwogICAgfQp9CgppbnQgaXNGdWxsKHZvaWQpCnsKICAgIHJldHVybiBzcCA+PSBTSVpFOwp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CiAgICByZXR1cm4gc3AgPD0gMDsKfQoKdm9pZCBhbnN3ZXIodm9pZCkKewogICAgaWYoIWlzRW1wdHkoKSkgewogICAgICAgIHByaW50ZigiYW5zd2VyOiVmXG4iLCBwb3AoKSk7CiAgICB9Cn0KCnZvaWQgcmVzZXQodm9pZCkKewogICAgc3AgPSAwOwp9Cg==