import math
import sympy
from IPython.display import display
sympy.init_printing()
sympy.var("x")
while True:
    try:
        a=int(input("a= "))
        b=int(input("b= "))
        c=int(input("c= "))
        break
    except ValueError:
        print("整数を入力してください。")

f=a*x**2+b*x+c
print("問題は ",f)
display(f)
print("その答は ",end="")
answer1="({}x{:+})({}x{:+})"
last=int(math.sqrt(abs(a)))+1
last2=int(math.sqrt(abs(c)))+1
flag1=False
for i in range(1,last):
    if a%i == 0:
        for j in range(1,last2):
            if c%j == 0 and i*(c//j)+(a//i)*j == b:
                print(answer1.format(i,j,a//i,c//j))
                flag1=True
                break
            if c%j == 0 and i*j+(a//i)*(c//j) == b:
                print(answer1.format(i,c//j,a//i,j))
                flag1=True
                break
            if c%j == 0 and i*(-c//j)+(a//i)*(-j) == b:
                print(answer1.format(i,-j,a//i,-c//j))
                flag1=True
                break     
            if c%j == 0 and i*(-j)+(a//i)*(-c//j) == b:
                print(answer1.format(i,-c//j,a//i,-j))
                flag1=True
                break
    if flag1:
        break
else:
    print("因数分解はできない。")