Олимпиадный тренинг

Задача . G. Перестановка от исходного


Вам дали всего одно число \(n\). Оно не показалось вам интересным, и вы задумались над вопросом: можно ли придумать такой массив длины \(n\) из целых чисел без нулей, что если каждый элемент массива заменить на сумму соседних (крайние элементы заменяются просто на соседние), получится перестановка чисел в исходном массиве.

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

Каждый набор входных данных содержит всего одно число \(n\) (\(2 \leq n \leq 10^6\)).

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

Если ответ существует, выведите «YES» (без кавычек), а затем массив \(a\) (\(-10^9 \leq a_i \leq 10^9, a_i \neq 0\)), удовлетворяющий условию задачи. Если вариантов ответов несколько, выведите любой.

Если подходящего массива нет, выведите «NO» (без кавычек).

Слова «YES» и «NO» можно выводить в любом регистре, например, «YES», «Yes», «yEs», и так далее.

Примечание

В первом тесте массив [\(1, 2, -2, -1\)] подходит, так как если заменить каждый элемент на сумму соседних, то получится массив [\(2, -1, 1, -2\)], который является перестановкой от исходного.

Во втором тесте можно показать, что ответа не существует.


Примеры
Входные данныеВыходные данные
1 4
YES
1 2 -2 -1
2 5
NO

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя