I. Разрезание цепочки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Решение у этой задачи следующее. Оказывается, достаточно разрезать всего одно кольцо — третье. Тогда у путешественника будет три куска цепочки — из двух, одного и четырёх колец. В первый день он отдаст хозяину одно кольцо. Во второй день он отдаст кусок из двух колец и заберёт обратно кольцо, которое отдал в первый день, и так далее.

Вам предлагается решить эту задачу в общем виде. Пусть цепочка состоит из $$$N$$$ колец, и путешественник хочет жить в гостинице $$$N$$$ дней. Определите, какое наименьшее количество разрезов потребуется сделать, а также какие именно кольца разрезать.

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

Вводится одно целое число $$$N$$$ ($$$1 \le N \le 10^9$$$).

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

В первой строке выведите целое число $$$K$$$ — минимальное количество разрезов. В следующей строке выведите $$$K$$$ неповторяющихся целых чисел от 1 до $$$N$$$ — номера колец, которые нужно разрезать. Если есть несколько верных ответов, выведите любой.

Примеры
Входные данные
7
Выходные данные
1
3 
Входные данные
8
Выходные данные
2
2 4