시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB198738.889%

문제

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

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

서브태스크

번호배점제한
110

0 ≤ n ≤ 210

220

0 ≤ n ≤ 220

330

0 ≤ n ≤ 230

440

0 ≤ n ≤ 260

예제 입력 1

3

예제 출력 1

Yes
2 1

예제 입력 2

2

예제 출력 2

No

채점 및 기타 정보

  • 예제는 채점하지 않는다.