Problem C: Factorization

Problem

ukuku1333さんはおっちょこちょいなので、 x の一次式の積を展開したら、元の一次式がわからなくなってしまった。
xn 次多項式が与えられるので、因数分解して元のxの一次式の積の形にせよ。

xn 次多項式は以下のBNFによって与えられる。

<多項式> := <項> | <多項式>+<項> | <多項式>−<項> 
<項> := x^<指数> | <係数>x^<指数> | <係数>x | <定数> 
<指数> := [2-5] 
<係数> := [1-9][0-9]* 
<定数> := [1-9][0-9]* 

指数及び係数が省略されている場合は1とみなす。

Input

入力は以下の形式で与えられる。

S

xn 次多項式を表す文字列 S が一行に与えられる。

Constraints

入力は以下の条件を満たす。

Output

Sx の一次式の積の形に因数分解したものを、定数項の小さいものから順に出力せよ。
出力の最後には改行を入れること。

Sample Input 1

x^2+3x+2

Sample Output 1

(x+1)(x+2)

Sample Input 2

x^2-1

Sample Output 2

(x-1)(x+1)

Sample Input 3

x^5+15x^4+85x^3+225x^2+274x+120

Sample Output 3

(x+1)(x+2)(x+3)(x+4)(x+5)

Sample Input 4

x^3-81x^2-1882x-1800

Sample Output 4

(x-100)(x+1)(x+18)