Задача №1747. Самолетик

Есть \(N\) аэропортов, пронумерованных числами от 1 до \(N\). Запас топлива (в баках) в каждом аэропорту равен номеру этого аэропорта (то есть в первом аэропорту — один бак, во втором — два и т.д.)

В аэропорту номер \(N\) стоит самолет. В каждом из аэропортов (если, конечно, там еще есть топливо) самолет может заправить бак, и долететь до любого другого аэропорта (летать из аэропорта в него же бессмысленно — это не приносит авиакомпании прибыли). Экипаж хочет совершить как можно больше рейсов.

Напишите программу, которая определит, какое наибольшее количество рейсов сможет совершить самолет, и в какие города и в каком порядке он должен для этого летать.

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

Вводится одно число \(N\) — количество городов (2≤\(N\)≤100).

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

Выведите сначала число \(M\) — количество рейсов, которое совершит самолет. Далее выведите \(M\)+1 число: номера городов в порядке их посещения самолетом (первое из этих чисел всегда должно быть равно \(N\)). Если вариантов маршрута несколько, выведите любой из них.

Примеры
Входные данные
2
Выходные данные
3
2 1 2 1
Входные данные
3
Выходные данные
6
3 2 1 3 2 3 2
Сдать: для сдачи задач необходимо войти в систему