Problem H
Zagrade
Mirko was bored at his chemistry class, so he played Bomb Switcher on his cell phone. Unfortunately, he was spotted and was given a ridiculously heavy assignment for homework. For a given valid math expression with brackets, he must find all different expressions that can be obtained by removing valid pairs of brackets from the original expression. Two expressions are different if there is a character at which they differ.
For example, given
Input
The first and only line of input contains one valid mathematical expression composed of nonnegative integers, basic arithmetic operations denoted with characters ‘+’, ‘*’, ‘-’ and ‘/’, and brackets ‘(’ and ‘)’.
Given expression doesn’t have more than 200 characters, and will have at least one, and no more than 10 pairs of brackets. Each expression is guaranteed to have at least one pair of brackets.
Output
Output all different expressions that can be obtained by removing valid pairs of brackets, sorted lexicographically.
Sample Input 1 | Sample Output 1 |
---|---|
(0/(0)) |
(0/0) 0/(0) 0/0 |
Sample Input 2 | Sample Output 2 |
---|---|
(2+(2*2)+2) |
(2+2*2+2) 2+(2*2)+2 2+2*2+2 |
Sample Input 3 | Sample Output 3 |
---|---|
(1+(2*(3+4))) |
(1+(2*3+4)) (1+2*(3+4)) (1+2*3+4) 1+(2*(3+4)) 1+(2*3+4) 1+2*(3+4) 1+2*3+4 |