#math3. 十字相乘法

十字相乘法

题目描述

PPCQ 现在得到了数学老师布置的“十字相乘法”的作业,这个公式虽然不是很难,但是多的要命。机智的 PPCQ 决定编写一个程序来解决这些十字相乘法的题目。

这是十字相乘法的标准形式:

ax2+bx+cax^2+bx+c

你需要将它分解因式。

数学老师还告诉 PPCQ,十字相乘法有以下性质:若 a=pq,c=mna=pq,c=mn,则 b=pm+qnb=pm+qn。这样一来,这个多项式就可以转化为 (px+n)(qx+m)(px+n)(qx+m)

你需要帮助(?为什么要帮助?) PPCQ 编写一个程序。PPCQ 会给你这个多项式的三个常数项 a,b,ca,b,c,你则需要给出因式分解后的 p,q,m,np,q,m,n

但是,由于十字相乘法会有多种情况(例如 a>0a>0,但是 p<0,q<0p<0,q<0p>0,q>0p>0,q>0),所以你需要按照 p,q,m,np,q,m,n 这四个数字,按照前后顺序,从小到大输出所有可能。当然十字相乘法也有可能无解,此时你就需要输出 00

输入格式

输入共一行,三个整数 a,b,ca,b,c

输出格式

输出共若干行。第一行:一个整数,表示十字相乘法的所有情况,从小到大输出。

样例

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

数据范围

  • 对于 20%20\% 的数据:10<a,b,c<10-10<a,b,c<10
  • 对于 40%40\% 的数据:100<a,b,c<100-100<a,b,c<100
  • 对于 60%60\% 的数据:1000<a,b,c<1000-1000<a,b,c<1000
  • 对于 80%80\% 的数据:104<a,b,c<104-10^4<a,b,c<10^4
  • 对于 100%100\% 的数据:107<a,b,c<107-10^7<a,b,c<10^7

解的数量不会很多,因为十字相乘法本来就没有很多解。