Разность квадратов

ограничение по времени на тест
1 секунда
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

По заданному целому неотрицательному целому числу $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».

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

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

ПодзадачаБаллыОграничения Необходимые подзадачи Информация о проверке
110$0 \le n \le 2^{10}$полная
220$0 \le n \le 2^{20}$1полная
330$0 \le n \le 2^{30}$1, 2полная
440$0 \le n \le 2^{60}$1, 2, 3полная
Примеры
Входные данные
3
Выходные данные
Yes
2 1
Входные данные
2
Выходные данные
No

Задача на Codeforces (контест gym/102479, задача 1, © Codeforces.com)