Гибкие отрезки
Гибкие отрезки
Великий математик Владимир Германович, изучая натуральные числа в поисках очередных закономерностей, наткнулся на следующее свойство отрезка натуральных чисел.
Владимир Германович называет отрезок целых положительных чисел l, l + 1, ..., r гибким, если каждое число на этом отрезке можно изменить ровно на один таким образом, что произведение чисел отрезка не поменяется. Иными словами, существует такая последовательность al
, al+1
, ..., ar
, что:
ak
= k + 1- l * (l + 1) * ... * r =
al
*al+1
* ... *ar
Теперь Владимиру Германовичу интересно, любой ли длины он может построить гибкий отрезок. По заданному числу n найдите гибкий отрезок, состоящий из n последовательных целых положительных чисел, или сообщите, что такого нет.
Входные данные
Одно число n (1 ≤ n ≤ 10 000) - длина требуемого отрезка.
Выходные данные
В первой строке выведите "YES", если существует гибкий отрезок, состоящий из n натуральных чисел, иначе выведите "NO".
Если такой отрезок существует, то во второй и третьей строках должна содержаться информация об этом отрезке.
Во второй строке должно содержаться единственное число l (1 ≤ l ≤ 1 000 000) - первый элемент отрезка. Гарантируется, что если существует гибкий отрезок длины n, то существует гибкий отрезок [l, r] длины n такой, что 1 ≤ l ≤ 1 000 000.
В третьей строке должна содержаться строка длины n без пробелов, состоящая из символов "+" и "-", (k - l + 1)-ый символ строки должен быть равен "-", если ak
= k - 1, либо "+", если ak
= k + 1.
Пример
Во втором примере n = 4, l = 2, r = l + n - 1 = 5. Ответ следующий: a2
= 2 - 1 = 1, a3
= 3 + 1 = 4, a4
= 4 + 1 = 5, a5
= 5 + 1 = 6. Произведение чисел от l до r равно 2 * 3 * 4 * 5 = 120. Произведение ak
равно a2
* a3
* a4
* a5
= 1 * 4 * 5 * 6 = 120. Таким образом отрезок [2, 5] является гибким.
1
NO
4
YES 2 -+++