#include #include static long parse(void) { long result = 0; char op = '+'; for (char ch; EOF != (ch = getchar());) { long val = 0; switch (ch) { break; case ' ': continue; break; case '(': val = parse(); break; case ')': return result; break; case '\n': return result; break; case '0' ... '9': val = ch - '0'; break; default: op = ch; continue; } switch (op) { break; case '+': result += val; break; case '*': result *= val; } } return result; } int main(void) { long sum = 0; for (long line; (line = parse()); sum += line); printf("%ld\n", sum); }