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

    
def two_sq(n):
    global squares
    for i in range(1, 1000):
        if (n - i ** 2) in squares:
            return [i, int((n - i ** 2) ** 0.5)]
a, b = map(int, input().split())
if check(a) and check(b):
    print("YES")
    print(-two_sq(a ** 2)[0], two_sq(a ** 2)[1])
    print(0, 0)
    print(*two_sq(b ** 2)[::-1])
else:
    print("NO")
