E. Тропинки и полянки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Красная Шапочка и Иван Дурак гуляют по лесу. Гуляя по лесу, они обнаружили, что в лесу есть тропинки и полянки. Всего в лесу n полянок, которым Иван Дурак назначил номера от 0 до n - 1. Иван Дурак заметил, что для каждой полянки i, из нее есть ровно две тропинки: одна ведет в полянку номер (2·imod 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