#include <stdio.h>
#include <string.h>
#include <ctype.h>
char stack[100][10];
int top = -1;
int index = 0;
char input[100];
void removeSpaces(char *str)
{
int i = 0, j = 0;
while (str[i] != '\0')
{
{
str[j] = str[i];
j++;
}
i++;
}
str[j] = '\0';
}
void push(const char *s)
{
}
void pop()
{
top--;
}
void printStack()
{
for (int i = 0; i <= top; i++)
}
int reduce()
{
if (top >= 2 &&
strcmp(stack
[top
- 2], "E") == 0 && strcmp(stack
[top
- 1], "+") == 0 && {
pop();
pop();
pop();
push("E");
return 1;
}
if (top >= 2 &&
strcmp(stack
[top
- 2], "E") == 0 && strcmp(stack
[top
- 1], "*") == 0 && {
pop();
pop();
pop();
push("E");
return 1;
}
if (top >= 2 &&
strcmp(stack
[top
- 2], "(") == 0 && strcmp(stack
[top
- 1], "E") == 0 && {
pop();
pop();
pop();
push("E");
return 1;
}
if (top != -1 && stack[top][0] >= 'a' && stack[top][0] <= 'z')
{
pop();
push("E");
return 1;
}
return 0;
}
int main()
{
fgets(input
, sizeof(input
), stdin
); input
[strcspn(input
, "\n")] = '\0'; removeSpaces(input);
while (input[index])
{
char temp[2] = {input[index], '\0'};
push(temp);
index++;
printStack();
while (reduce())
{
printStack();
}
}
if (top
== 0 && strcmp(stack
[0], "E") == 0) else
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGN0eXBlLmg+CgpjaGFyIHN0YWNrWzEwMF1bMTBdOwppbnQgdG9wID0gLTE7CmludCBpbmRleCA9IDA7CmNoYXIgaW5wdXRbMTAwXTsKCnZvaWQgcmVtb3ZlU3BhY2VzKGNoYXIgKnN0cikKewogICAgaW50IGkgPSAwLCBqID0gMDsKCiAgICB3aGlsZSAoc3RyW2ldICE9ICdcMCcpCiAgICB7CiAgICAgICAgaWYgKCFpc3NwYWNlKHN0cltpXSkpCiAgICAgICAgewogICAgICAgICAgICBzdHJbal0gPSBzdHJbaV07CiAgICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgaSsrOwogICAgfQogICAgc3RyW2pdID0gJ1wwJzsKfQoKdm9pZCBwdXNoKGNvbnN0IGNoYXIgKnMpCnsKICAgIHN0cmNweShzdGFja1srK3RvcF0sIHMpOwp9Cgp2b2lkIHBvcCgpCnsKICAgIHRvcC0tOwp9Cgp2b2lkIHByaW50U3RhY2soKQp7CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSB0b3A7IGkrKykKICAgICAgICBwcmludGYoIiVzIiwgc3RhY2tbaV0pOwogICAgcHJpbnRmKCJcbiIpOwp9CgppbnQgcmVkdWNlKCkKewogICAgaWYgKHRvcCA+PSAyICYmCiAgICAgICAgc3RyY21wKHN0YWNrW3RvcCAtIDJdLCAiRSIpID09IDAgJiYKICAgICAgICBzdHJjbXAoc3RhY2tbdG9wIC0gMV0sICIrIikgPT0gMCAmJgogICAgICAgIHN0cmNtcChzdGFja1t0b3BdLCAiRSIpID09IDApCiAgICB7CiAgICAgICAgcG9wKCk7CiAgICAgICAgcG9wKCk7CiAgICAgICAgcG9wKCk7CiAgICAgICAgcHVzaCgiRSIpOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIGlmICh0b3AgPj0gMiAmJgogICAgICAgIHN0cmNtcChzdGFja1t0b3AgLSAyXSwgIkUiKSA9PSAwICYmCiAgICAgICAgc3RyY21wKHN0YWNrW3RvcCAtIDFdLCAiKiIpID09IDAgJiYKICAgICAgICBzdHJjbXAoc3RhY2tbdG9wXSwgIkUiKSA9PSAwKQogICAgewogICAgICAgIHBvcCgpOwogICAgICAgIHBvcCgpOwogICAgICAgIHBvcCgpOwogICAgICAgIHB1c2goIkUiKTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBpZiAodG9wID49IDIgJiYKICAgICAgICBzdHJjbXAoc3RhY2tbdG9wIC0gMl0sICIoIikgPT0gMCAmJgogICAgICAgIHN0cmNtcChzdGFja1t0b3AgLSAxXSwgIkUiKSA9PSAwICYmCiAgICAgICAgc3RyY21wKHN0YWNrW3RvcF0sICIpIikgPT0gMCkKICAgIHsKICAgICAgICBwb3AoKTsKICAgICAgICBwb3AoKTsKICAgICAgICBwb3AoKTsKICAgICAgICBwdXNoKCJFIik7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgaWYgKHRvcCAhPSAtMSAmJiBzdGFja1t0b3BdWzBdID49ICdhJyAmJiBzdGFja1t0b3BdWzBdIDw9ICd6JykKICAgIHsKICAgICAgICBwb3AoKTsKICAgICAgICBwdXNoKCJFIik7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCmludCBtYWluKCkKewogICAgZmdldHMoaW5wdXQsIHNpemVvZihpbnB1dCksIHN0ZGluKTsKICAgIGlucHV0W3N0cmNzcG4oaW5wdXQsICJcbiIpXSA9ICdcMCc7CiAgICByZW1vdmVTcGFjZXMoaW5wdXQpOwoKICAgIHdoaWxlIChpbnB1dFtpbmRleF0pCiAgICB7CiAgICAgICAgY2hhciB0ZW1wWzJdID0ge2lucHV0W2luZGV4XSwgJ1wwJ307CiAgICAgICAgcHVzaCh0ZW1wKTsKICAgICAgICBpbmRleCsrOwoKICAgICAgICBwcmludGYoIlNoaWZ0OiAiKTsKICAgICAgICBwcmludFN0YWNrKCk7CgogICAgICAgIHdoaWxlIChyZWR1Y2UoKSkKICAgICAgICB7CiAgICAgICAgICAgIHByaW50ZigiUmVkdWNlOiAiKTsKICAgICAgICAgICAgcHJpbnRTdGFjaygpOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAodG9wID09IDAgJiYgc3RyY21wKHN0YWNrWzBdLCAiRSIpID09IDApCiAgICAgICAgcHJpbnRmKCJTdHJpbmcgQWNjZXB0ZWRcbiIpOwogICAgZWxzZQogICAgICAgIHByaW50ZigiU3RyaW5nIFJlamVjdGVkXG4iKTsKCiAgICByZXR1cm4gMDsKfQ==