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.
a, b = map(int, input().split())


def f(a):
    a *= a

    for i in range(1, 1000):
        k = a - i * i

        if k <= 0:
            continue
        k = k ** 0.5
        if k == int(k) and k:
            return (i, int(k))
    return -1


c = f(a)
d = f(b)
if c == -1 or d == -1 :
    print("NO")

elif c[0]**2+c[1]**2+d[0]**2+d[1]**2!=(c[1]+d[0])**2+(d[1]-c[0])**2:
    print("NO")
else:
    print("YES")
    print(0, 0)
    print(c[0], c[1])
    print(d[1], -d[0])