MemSQL start[c]up Round 1 |
---|
Закончено |
Красная Шапочка и Иван Дурак гуляют по лесу. Гуляя по лесу, они обнаружили, что в лесу есть тропинки и полянки. Всего в лесу n полянок, которым Иван Дурак назначил номера от 0 до n - 1. Иван Дурак заметил, что для каждой полянки i, из нее есть ровно две тропинки: одна ведет в полянку номер (2·i) mod n, вторая — в полянку ((2·i) + 1) mod n.
Красная Шапочка, в свою очередь, заметила, что все тропинки однонаправленные (Красная Шапочка не может объяснить природу этого явления). Теперь, стоя в полянке с номером 0, Красная Шапочка задалась вопросом — если она начнет гулять по тропинкам, может ли она обойти все полянки ровно по одному разу и в конце вернуться на полянку с номером 0 опять (тем самым посетив ее дважды)?
Запись x mod y обозначает операцию взятия остатка от деления числа x на число y.
Единственная строка содержит целое число n (2 ≤ n ≤ 105) — количество полянок.
Выведите порядок, в котором следует обойти полянки. Каждая полянка должна быть выведена ровно один раз, кроме полянки 0, которая должна быть выведена ровно дважды: первой и последней в списке. Если решения не существует, выведите -1. Если решений несколько, выведите любое из них.
2
0 1 0
3
-1
4
0 1 3 2 0
16
0 1 2 4 9 3 6 13 10 5 11 7 15 14 12 8 0
Название |
---|