Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register
Language:
Polynomial
Time Limit: 2000MSMemory Limit: 131072K
Total Submissions: 439Accepted: 29

Description

In the present problem, we always assume that all the polynomials mentioned have the following properties (take f(x) for example ):
(1) 0 < deg(f) <= 20, so we can assume that f(x) has the following form:
f(x)=anxn+an-1xn-1+...+a1x+a0 (an!=0 and 1<=n<=20)

(2) ai ( i=0,1,...,n ) is integer, and ?2^31<=ai<=2^31-1;
(3) an = 1.

We call a polynomial G(x) "good" polynomial, when there is no polynomial F(x) such that
F2|G

Given a polynomial f(x), it is known that f(x) can be factorized as follow:
f(x)=GtmtGt-1mt-1...G1m1 (Gi is good and mt>mt-1>...>m1>=1)
It抯 easy to prove that this way of factorizing is unique. You job is to factorize the given polynomials in this way.

To make input and output easy, a polynomial f(x)
f(x)=anxn+an-1xn-1+...+a1x+a0 (an!=0 and 1<=n<=20)

is represented as
n an an-1 ... a1 a0

In this representation, we use (n+2) integers, which are separated by single blanks.

Input

The first line of the input contains a single integer T (1 <= T <= 20), the number of test cases. Then T cases follow. Every case gives a polynomial in a single line.

Output

For each test case, output the corresponding result in the following form (where the meaning of those characters is taken as just mentioned):
t
mt Gt
mt-1 Gt-1
...
m1 G1

Sample Input

2
5 1 -3 4 -4 3 -1
2 1 -1 -2

Sample Output

2
3 1 1 -1
1 2 1 0 1
1
1 2 1 -1 -2

Hint

补充:
如果f=a1^n1*...at^nt(n1>...>nt)

那么要求a1,a2...at两两互质

Source

[Submit]   [Go Back]   [Status]   [Discuss]

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator