eolymp
bolt
Try our new interface for solving problems
Məsələlər

Гибкие отрезки

Гибкие отрезки

Великий математик Владимир Германович, изучая натуральные числа в поисках очередных закономерностей, наткнулся на следующее свойство отрезка натуральных чисел.

Владимир Германович называет отрезок целых положительных чисел l, l + 1, ..., r гибким, если каждое число на этом отрезке можно изменить ровно на один таким образом, что произведение чисел отрезка не поменяется. Иными словами, существует такая последовательность al, al+1, ..., ar, что:

  • ak = k + 1
  • l * (l + 1) * ... * r = al * al+1 * ... * ar

Теперь Владимиру Германовичу интересно, любой ли длины он может построить гибкий отрезок. По заданному числу n найдите гибкий отрезок, состоящий из n последовательных целых положительных чисел, или сообщите, что такого нет.

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

Одно число n (1n10 000) - длина требуемого отрезка.

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

В первой строке выведите "YES", если существует гибкий отрезок, состоящий из n натуральных чисел, иначе выведите "NO".

Если такой отрезок существует, то во второй и третьей строках должна содержаться информация об этом отрезке.

Во второй строке должно содержаться единственное число l (1l1 000 000) - первый элемент отрезка. Гарантируется, что если существует гибкий отрезок длины n, то существует гибкий отрезок [l, r] длины n такой, что 1l1 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] является гибким.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
1
Çıxış verilənləri #1
NO
Giriş verilənləri #2
4
Çıxış verilənləri #2
YES
2
-+++
Mənbə 2018, XXVI Командный чемпионат школьников Санкт-Петербурга по программированию, 18 октября, Задача G