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