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

Задача . F. И-перестановки


Задача

Темы: Конструктив *2500

Дано число N. Найдите две перестановки:

  1. Перестановку p чисел от 1 до N, для которой pi ≠ i и pi & i = 0 для всех i = 1, 2, ..., N.
  2. Перестановку q чисел от 1 до N, для которой qi ≠ i и qi & i ≠ 0 для всех i = 1, 2, ..., N.

& — побитовая операция И.

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

Входные данные состоят из одной строки, содержащей одно целое число N (1 ≤ N ≤ 105).

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

Для каждой подзадачи, если требуемая перестановка не существует, выведите одну строку «NO»; иначе выведите «YES» в первой строке и N элементов перестановки, разделенных пробелами, во второй строке. Если для подзадачи существует несколько перестановок, выведите любую из них.


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

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

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