ICPC East Central NA Regional Contest 2000, Problem C
A polynomial of degree can be used to approximate a function by setting the coefficients of to match the first coefficients of the power series of (expanded about ). For example,
Unfortunately, polynomials are "nice" and they do not work well when they are used to approximate functions that behave poorly (e.g. those with singularities). To overcome this problem, we can instead approximate functions by rational functions of the form , where and are polynomials. You have been asked by Approximate Calculation Machinery to solve this problem, so they can incorporate your solution into their approximate calculation software.
Given , , and the first coefficients of the power series of , we wish to compute two polynomials and of degrees at most and , respectively, such that the power series expansion of has as its first coefficients, and as its coefficient corresponding to the term. In other words, we want to find and such that
where contains terms with powers of higher than . From this, can be approximated by .
Background Definitions
A polynomial of degree can be written as , where 's are integers in this problem.
A power series expansion of about can be written as , where 's are integers in this problem.
Input Specification
The input will consist of multiple cases. Each case will be specified on one line, in the form
where is the coefficient of in the power series expansion of . You may assume that , , , and are integers such that . The end of input will be indicated by a line containing , and no coefficients for . You may assume that there is a unique solution for the given input.
Output Specification
For each test case, print two lines of output. Print the polynomial on the first line, and then on the second line. The polynomial should be printed as a list of pairs (pi,i)
arranged in ascending order in , such that is a non-zero coefficient for the term . Each non-zero coefficient should be printed as , where and is the coefficient expressed in lowest terms. In addition, if then print only (and omit ). If , print a line containing only (0,0)
. Separate the pairs in the list by one space. The polynomial should be printed in the same manner. Insert a blank line between cases.
Sample Input
2 2 0 0 1 1
4 2 1 2 3 4 5 -2
1 1 2 3
1 4 -5 0 -2 1 -2
0 0
Sample Output
(0,0)
(1,1)
(-4/33,0) (-1/11,1) (-2/33,2) (-1/33,3)
(-4/33,0) (5/33,1)
(2/3,0)
(1/3,0)
(25/6,0)
(-5/6,0) (1/3,2) (-1/6,3)
Comments