1582 神秘代码


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

据说ZJUT有一种机器能够执行一种神秘代码。该机器有一个栈,初始时栈里只有一个元素x,随着神秘代码的执行,栈里的元素会发生变化。神秘代码包含四种指令:

Z指令:把栈顶元素复制一次加到栈顶。

J指令:把栈顶元素取出,加到新的栈顶元素中。

U指令:把栈顶元素取出,乘到新的栈顶元素中。

T指令:干扰指令,什么也不做

如果执行J或U指令的时候栈内只有一个元素,则机器会发出错误信息。如果程序无误,那么执行完毕以后,栈顶元素应该是x的多项式。

为了简化问题,在本题中保证数据的合法性,即不存在发出错误信息的情况。

例如:

程序ZJZZUJT的执行情况为(栈内元素按照从底到顶的顺序从左至右排列,用逗号隔开):

[x]→[x,x]→[2x]→[2x,2x]→[2x,2x,2x]→[2x,4x^2]→[4x^2+2x]→[4x^2+2x]

给出一段神秘代码,求出执行完毕后栈顶元素。

Input

输入有多行,每行包含一个不空的字符串s,长度不超过12,代表一段神秘代码。输入程序保证合法且不会导致错误。

Output

输出:输出一行,即栈顶多项式。须按照习惯写法降幂输出,即:等于1的系数不要打印,系数为0的项不打印,第一项不打印正号。一次方不打印'^1'。

Sample

Input

ZJZZUJ

Output

4x^2+2x

Source: LCS


Comments

There are no comments at the moment.