A. Треугольник
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Есть прямоугольный треугольник с катетами длины a и b. Требуется расположить его на плоскости так, что ни одна из его сторон не параллельна осям координат, а вершины находятся в точках с целочисленными координатами, либо определить, что это невозможно.

Входные данные

В первой и единственной строке находятся два целых числа a, b (1 ≤ a, b ≤ 1000), разделенные одним пробелом.

Выходные данные

В первой строке выведите «YES» или «NO» (без кавычек) в зависимости от того, существует ли искомое расположение. Если оно существует, то в трех следующих строках выведите три пары целых чисел — координаты вершин треугольника, по одной паре в строке. Координаты должны быть целыми числами, не превышающими 109 по модулю.

Примеры
Входные данные
1 1
Выходные данные
NO
Входные данные
5 5
Выходные данные
YES
2 1
5 5
-2 4
Входные данные
5 10
Выходные данные
YES
-10 4
-2 -2
1 2