import math
import numpy as np
import sympy as sp
from IPython.display import display
while True:
    try:
        p=int(input("p="))
        q=int(input("q="))
        if p<=0 or q<=0:
            print("正数を入力してください。")
            continue
        break
    except ValueError:
        print("正の整数を入力してください。")

f=sp.sqrt(p+2*sp.sqrt(q))
print("問題は")
display(f)
print("その答えは")
last=int(np.sqrt(abs(q)))+1
for i in range(1,last):
    if q%i == 0 and (i+q//i == p):
        answer1=sp.sqrt(i)+sp.sqrt(q//i)
        display(answer1)
        break
else:
    print("2重根号は外れません。")