There is a right triangle with legs of length *a* and *b*. Your task is to determine whether it is possible to locate the triangle on the plane in such a way that none of its sides is parallel to the coordinate axes. All the vertices must have integer coordinates. If there exists such a location, you have to output the appropriate coordinates of vertices.
The first line contains two integers *a*, *b* (1 ≤ *a*, *b* ≤ 1000), separated by a single space.
import sys
a, b = map(int,sys.stdin.readline().split())
def check(x,z):
    # if not (abs(x-round(x)) < 1e-6 and 0 < x < z):
    #     print("no", x, z)
    return abs(x-round(x)) < 1e-6 and 0 < x < z
for ax in range(1,a):
    ay = (a**2 - ax**2)**.5
    if not check(ay,a): continue
    ay = round(ay)

    by = b/(ay**2/ax**2+1)**.5
    if not check(by,b): continue
    by = round(by)

    bx = (b**2 - by**2)**.5
    if not check(bx,b): continue
    bx = round(bx)

    print("YES")
    print(0, 0)
    print(ax, ay)
    print(bx, -by)
    break
else:
    print("NO")
