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
input = lambda: sys.stdin.readline().rstrip()

a,b = map(int, input().split())

def deal(a,b):
    c=a**2+b**2

    B = []
    for i in range(1,b+1):
        for j in range(i,b+1):
            if i**2+j**2==b**2:
                B.append((i,j))

    for j in range(1,a+1):
        for i in range(-j,-a-1,-1):
            if i**2+j**2==a**2:
                for i2,j2 in B:
                    if abs(i2-i)**2+abs(j2-j)**2==c:
                        return [(i,j),(i2,j2)]
    return None

a1 = deal(a,b)
a2 = deal(b,a)
if a1==None and a2==None:
    print('NO')
elif a1[0][1]==a1[1][1] and a2[0][1]==a2[1][1]:
    print('NO')
elif a1[0][1]!=a1[1][1]:
    print('YES')
    print(0,0)
    print(*a1[0])
    print(*a1[1])
else:
    print('YES')
    print(0,0)
    print(*a2[0])
    print(*a2[1])