Вы участвуете в разработке программного модуля для системы символьных вычислений. Модуль будет использоваться для решения специального вида диофантовых уравнений.
По заданному целому неотрицательному целому числу n разрабатываемый модуль должен найти два натуральных числа x и y, для которых выполнено равенство x2 − y2 = n. Найденные числа не должны превышать 262 − 1.
Требуется написать программу, которая по заданному целому неотрицательному числу n находит натуральные числа x и y, не превышающие 262 − 1, разность квадратов которых равна n.
В единственной строке дано одно целое число n (0 ≤ n ≤ 260).
Обратите внимание, что заданное во вводе число не помещается в 32-битный тип данных, необходимо использовать 64-битный тип данных (например, «long long» в C++, «int64» в паскале, «long» в Java).
Если искомые x и y существуют, то необходимо вывести две строки: в первой строке выведите слово «Yes», а во второй — искомые x и y.
Если подходящих пар x и y несколько, можно вывести любую из них, но должно выполняться условие 1 ≤ x, y ≤ 262 − 1.
Если решения нет, в единственной строке необходимо вывести слово «No».