2537 两个一元多项式求和

Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 65536/32768 KB(Java/Others)

Submits : 3 | Solved : 0

Description

通常在数学中对一元n次多项式可表示成如下形式:

给定一个多项式,在C语言中可以用可读的形式将该多项式规范地输出。例如,给出系数

1 5 22 4 33 3 1 1 -1 0,输出为x^5+22x^4+33x^3+x-1

所使用的规则如下:

(1)多项式各项按照指数的递减顺序输出

(2) 次数出现在^之后,如 3x^2

(3)常数项仅输出常数。

(4)如果所有的项都是以0作为系数,则仅输出常数0,否则输出非零系数的项。

(5)如果第1项的系数是正数,在该项前没有符号;如果第1项的系数是负数,在该项前是减号,如 2x^4+3x^2-10,-2x^4+3x^2-10

6)非常数项系数为1和-1不用显示,如 x^7-10x^2,-x^2-x+2。


Input

输入包含多组数据,每组两行,分别表示两个多项式。对每一项输入系数和指数,按指数从高到低的顺序输入。系数和指数的大小都在[-100+100]之间。

输入-9999时一个多项式结束。


Output

每一组输入对应的输出包括三行,包括2个多项式以及求和后的多项式。每个式子占据一行。(详见样例)


Sample Input

1 3 2 2 -8 0 -9999
1 10 2 3 6 0 -9999
1 17 2 10 -9 5 0 2 23 -1 -1 -3 -9999
-1 17 -3 9 2 6 7 5 3 -1 -9999

Sample Output

A:x^3+2x^2-8
B:x^10+2x^3+6
A+B:x^10+3x^3+2x^2-2
A:x^17+2x^10-9x^5+23x^-1-x^-3
B:-x^17-3x^9+2x^6+7x^5+3x^-1
A+B:2x^10-3x^9+2x^6-2x^5+26x^-1-x^-3

HINT


Source

NBU OJ

[ Top ] | [ Submit ]