题目描述
输入一个只含字母 a、b 的多项式,对其化简(展开、合并同类项)后输出。
每项的形式为“[系数][a[a的次数]][b[b的次数]]”。
数据规模
输入多项式的长度不超过 100 个字符。
前 30% 的数据,没有乘方运算。
前 50% 的数据,计算过程中不需要高精度。
所有的数据,结果多项式中字母 a 和 b 的次数不超过 100。
样例说明:
为了方便大家测试,给出多组样例,实际测评时每个测试点只有1行
更多样例输入:
(3a)^30
(a+b)^2
2a2b2+3a3b3+4a2b2+0
0
更多样例输出:
205891132094649a30
a2+2ab+b2
3a3b3+6a2b2
0
说明:
Q:3a^30是(3a)^30还是3a^30
A:运算中的乘号不可省略
3a是单独的一项
为了减少歧义,一定会把 ^ 运算符的底数用括号括起来
比如只会出现 (3a)^30 这样的
不会出现 3a^30 这样的
输入格式
一行,原多项式。
多项式包含运算:+、*、^、(、),分别表示加、乘、乘方和左右括号。按照正常的顺序进行计算。
所有指数一定是非负整数。
输出格式
一行,化简后的多项式。
要求多项式必须最简。
输出项的顺序:首先 a 的次数较大的排在前面,其次 b 的次数较大的排在前面。如果有常数项则排最后。
如果一个项包含字母,则系数或次数为 1 时必须省略,次数不能为 0。
对于常数项,如果有且仅有一个常数项 0 则输出 0,否则不输出常数项 0。
样例输入
样例输出