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())
al=[]
bl=[]
for x in range(1,a):
    if int((a**2-x**2)**0.5)==(a**2-x**2)**0.5:
        y=int((a**2-x**2)**0.5)
        al.append([x,y])
for x in range(1,b):
    if int((b**2-x**2)**0.5)==(b**2-x**2)**0.5:
        y=int((b**2-x**2)**0.5)
        bl.append([x,y])
f=0
for av in al:
    for bv in bl:
        if av[0]!=bv[0] and av[0]*bv[0]-av[1]*bv[1]==0:
            print('YES')
            print(av[0],0)
            print(0,av[1])
            print(bv[0],bv[1]+av[1])
            f=1
            break
    if f==1:
        break
if f==0:
    print('NO')

