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 math
squares = set()
for i in range(1, 1001):
    squares.add(i ** 2)
def check(n):
    global squares
    for i in range(1, 1001):
        if (n - i ** 2) in squares:
            return True
    return False


def two_sq(n):
    global squares
    for i in range(1, 1001):
        if (n - i ** 2) in squares:
            return [i, int((n - i ** 2) ** 0.5)]
a, b = map(int, input().split())
if not check(a ** 2) or not check(b ** 2):
    print("NO")
else:
    g = math.gcd(a ** 2, b ** 2)
    if check(g):
        print("YES")
        x , y = two_sq(g)[0], two_sq(g)[1]
        t = int((a ** 2 // g) ** 0.5)
        s = int((b ** 2 // g) ** 0.5)
        print(-t * y, t * x)
        print(0, 0)
        print(s * x, s * y)