Пингвин Поло очень любит перестановки. Но больше всего он любит перестановки целых чисел от 0 до n, включительно.
Для перестановки p = p0, p1, ..., pn Поло определил ее красоту — число
.
Выражение
обозначает применение операции побитового исключающего «ИЛИ» к числам x и y. Данная операция есть во всех современных языках программирования, например, в языке C++ и Java она обозначается символом «^», в Pascal — «xor».
Помогите ему найти среди всех перестановок целых чисел от 0 до n перестановку с максимальной красотой.
Выходные данные
В первой строке выведите целое число m — максимально возможную красоту, в следующей строке выведите любую перестановку целых чисел от 0 до n, красота которой равна m.
Если существует несколько подходящих перестановок, разрешается вывести любую.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4
|
20
0 2 1 4 3
|