시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB111112.500%

문제

A calculator works with numbers of at most 90 digits long and computes expressions with the following syntax:

<expression>::= <number> | (<expression><operator><expression>)
<operator>::= + | - | * | /
<number>::= an unsigned decimal integer number

The operators are: + (addition), - (subtraction), * (multiplication), and / (integer division, yielding the quotient of the division). The calculator aborts the evaluation in the following cases: 1) a division by zero; 2) the result of some operation is negative or exceeds 90 digits; 3) an input number exceeds 90 digits.

Write a program that simulates the calculator. For each expression read from an input text file, the program prints the value of the expression starting from the beginning of an output line. If the calculator aborts the evaluation of the expression, the word Error is printed as shown in the input/output sample above. An expression can contain at most 90 operators and is syntactically correct. White spaces are used freely in input that terminates with an end of file.

예제 입력 1

(((100000000000 * 100000000000) / 5)-1)
100
(0*(1000000000000000000000000000000 *
   (1000000000000000000000000000000 *
    1000000000000000000000000000000)))
((1-2)+1)
(0*(1/0))

예제 출력 1

1999999999999999999999
100
Error
Error
Error