Задача №114525. Разность квадратов

Вы участвуете в разработке программного модуля для системы символьных вычислений. Модуль будет использоваться для решения специального вида диофантовых уравнений.

По заданному целому неотрицательному целому числу \(n\) разрабатываемый модуль должен найти два натуральных числа \(x\) и \(y\), для которых выполнено равенство \(x^2-y^2=n\). Найденные числа не должны превышать \(2^{62}-1\).

Требуется написать программу, которая по заданному целому неотрицательному числу \(n\) находит натуральные числа \(x\) и \(y\), не превышающие \(2^{62}-1\), разность квадратов которых равна \(n\).

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

В единственной строке дано одно целое число \(n\) (\(0 \le n \le 2^{60}\)).

Обратите внимание, что заданное во вводе число не помещается в 32-битный тип данных, необходимо использовать 64-битный тип данных (например, « long long » в C++, « int64 » в паскале, « long » в Java).

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

Если искомые \(x\) и \(y\) существуют, то необходимо вывести две строки: в первой строке выведите слово « Yes », а во второй — искомые \(x\) и \(y\).

Если подходящих пар \(x\) и \(y\) несколько, можно вывести любую из них, но должно выполняться условие \(1 \le x, y \le 2^{62}-1\).

Если решения нет, в единственной строке необходимо вывести слово « No ».

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

Подзадача Баллы Ограничения Необходимые подзадачи Информация о проверке
1 10 \(0 \le n \le 2^{10}\) полная
2 20 \(0 \le n \le 2^{20}\) 1 полная
3 30 \(0 \le n \le 2^{30}\) 1, 2 полная
4 40 \(0 \le n \le 2^{60}\) 1, 2, 3 полная

Примеры
Входные данные
3
Выходные данные
Yes
2 1
Входные данные
2
Выходные данные
No
Сдать: для сдачи задач необходимо войти в систему