#P1855. Expressions

Expressions

Problem Description

Have you taken the course named Data Structure? Did you pass it? If you do, you should know that a mathematical expression can be expressed as a tree and why. In this problem, you are given some expressions, and you are supposed to draw the tree.

The expressions are composed of these letters:
(1) 'a', 'b', ..., 'z' : means an operand;
(2) '+', '-', '*', '/' : dyadic operator, means plus sign, subtraction sign, multiplication sign and division sign;
(3) '-' : monadic operator, means negative sign;
(4) '(', ')' : used in pairs to alter priority.

Input

Input consists of multiple expressions each on a line (not exceed 50 letters). You should proceed to the end of file.

Output

For each expression, You should draw a tree that can express it, following the styles indicated in the sample output.

Note that the '#' in the sample are supposed to tell you that there are spaces at the back of some lines, and you should ignore it in your output.


a+b+c (a-a)*b+(-c)
+ # + c# a b # + # * - # - b c# a a #

Author

MDZfirst@TJU