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 check(x, y):
    new_y = -x
    new_x = y

    yy = new_y * b // a
    xx = new_x * b // a

    if x == xx or y == yy:
        xx *= -1
        yy *= -1
    
    if new_x * b % a == 0 and new_y * b % a == 0 and xx != x and yy != y:
        return xx, yy
    
    return False, False


for i in range(1, a):
    for j in range(0, a + 1):
        if i ** 2 + j ** 2 == a*a:
            val = check(i, j)
            if val[0] != False:
                print("YES")
                print(0 , 0)
                print(i, j)
                print(val[0], val[1])
                exit(0)


print("NO")
