ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1870. Зиниум 2

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Напомним, что Зиниум — это шахматная доска размером n × n клеток. Клетка в левом нижнем её углу имеет координаты (1, 1), а клетка в правом верхнем углу — координаты (n, n). По легенде, если на доске расставить n ферзей таким образом, что ни один из них не будет атаковать другого, то освобождённая энергия Зиниума изменит мир до неузнаваемости. Реки повернутся вспять, небо упадёт на землю, люди научатся называть вещи своими именами…
Problem illustration
Все верили в легенду про Зиниум, пока артефакт не попал в руки к Игорю. Когда Игорю удалось расставить n ферзей требуемым образом, ничего не произошло (во всяком случае, Игорь не заметил ничего необычного). Тогда Игорь предположил, что в легенде говорилось не об обычной, а о торической шахматной доске. Чтобы получить торическую шахматную доску размера n × n, нужно взять обычную доску такого же размера, после чего склеить её верхнюю горизонталь с нижней, а левую вертикаль с правой. На рисунке показано, какие клетки торической шахматной доски 8 × 8 держит под боем один ферзь. Чтобы проверить свою гипотезу, Игорь пытается расставить на торической доске n ферзей так, чтобы ни один из них не атаковал другого. Помогите ему в этом.

Исходные данные

В единственной строке записано целое число n (4 ≤ n ≤ 105).

Результат

Если искомая расстановка существует, выведите в первой строке «Yes», а во второй — n целых чисел. i-е число должно равняться y-координате ферзя, x-координата которого равна i. Если возможных расстановок несколько, выведите любую из них. Если расстановки не существует, в единственной строке выведите «No».

Примеры

исходные данныерезультат
5
Yes
2 4 1 3 5
8
No
Автор задачи: Игорь Чевдарь (подготовка — Евгений Курпилянский)
Источник задачи: Открытый командный чемпионат УрФУ по программированию — 2011