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 work(a,b):
    c=int(float(b*b-a*a)**0.5)
    if c*c+a*a==b*b:
        return [a,c]
    return []
def get(a):
    return list(work(i,a) for i in range(1,a) if len( work(i,a) )>0)
A=get(a)
B=get(b)
for [a,b] in A:
    for [c,d] in B:
        if a*c==b*d:
            print("YES")
            print(0,0)
            print(-a,b)
            print(c,d)
            break
    else:
        continue
    break
else:
     print("NO")
