Олимпиадный тренинг

Задача . D. Супер-перестановка


Перестановка — это последовательность из \(n\) целых чисел, в которой каждое целое число от \(1\) до \(n\) встречается ровно по одному разу. Например, \([1]\), \([3,5,2,1,4]\), \([1,3,2]\) — перестановки, а \([2,3,2]\), \([4,3,1]\), \([0]\) — нет.

По перестановке \(a\) строится массив \(b\), где \(b_i = (a_1 + a_2 +~\dots~+ a_i) \bmod n\).

Перестановка чисел \([a_1, a_2, \dots, a_n]\) называется супер-перестановкой, если \([b_1 + 1, b_2 + 1, \dots, b_n + 1]\) также является перестановкой длины \(n\).

Грише стало интересно, существует ли супер-перестановка длины \(n\). Помогите ему справиться с этой нетривиальной задачей. Выведите любую супер-перестановку длины \(n\), если такая существует; в противном случае выведите \(-1\).

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

В первой строке находится одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Каждый набор входных данных состоит из одной строки, в которой задано одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — длина искомой перестановки.

Сумма \(n\) по всем наборам входных данных не превосходит \(2 \cdot 10^5\).

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

Для каждого набора входных данных в отдельной строке выведите:

  • \(n\) целых чисел — супер-перестановку длины \(n\), если такая существует.
  • \(-1\), в противном случае.

Если существует несколько подходящих перестановок, выведите любую из них.


Примеры
Входные данныеВыходные данные
1 4
1
2
3
6
1
2 1
-1
6 5 2 3 4 1

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя