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

Задача . C. Почти все - кратные


Даны два целых числа \(n\) и \(x\). Перестановка\(^{\dagger}\) \(p\) длины \(n\) называется забавной, если \(p_i\) делится нацело на \(i\) для всех \(1 \leq i \leq n - 1\), при этом \(p_n = 1\), а \(p_1 = x\).

Найдите лексокографически минимальную\(^{\ddagger}\) забавную перестановку, или скажите, что такой перестановки не существует.

\(^{\dagger}\) Перестановкой длины \(n\) называется массив, содержащий все числа от \(1\) до \(n\) ровно по одному разу.

\(^{\ddagger}\) Пусть \(a\) и \(b\) — перестановки длины \(n\). Перестановка \(a\) лексикографически меньше \(b\), если в первой позиции \(i\), где \(a\) и \(b\) различны, \(a_i < b_i\). Перестановка называется лексикографически минимальное, если она лексикографически меньше всех остальных перестановок.

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

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

Единственная строка каждого набора входных данных содержит два целых числа \(n\) и \(x\) (\(2 \leq n \leq 2 \cdot 10^5\); \(1 < x \leq n\)).

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

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

Для каждого набора входных данных, если ответ существует, выведите \(n\) различных целых чисел \(p_1, p_2, \dots, p_n\) (\(1 \leq p_i \leq n\)) — лексикографически минимальную забавную перестановку \(p\). Иначе выведите \(-1\).

Примечание

В первом примере перестановка \([3,2,1]\) удовлетворяет всем условиям: \(p_1=3\), \(p_3=1\), и:

  • \(p_1=3\) делится на \(1\).
  • \(p_2=2\) делится на \(2\).
Можно показать, что эта перестановка является лексикографически минимальной.

Во втором примере перестановка \([2,4,3,1]\) удовлетворяет всем условиям: \(p_1=2\), \(p_4=1\), и:

  • \(p_1=2\) делится на \(1\).
  • \(p_2=4\) делится на \(2\).
  • \(p_3=3\) делится на \(3\).
Можно показать, что эта перестановка является лексикографически минимальной.

В третьем примере не существует забавных перестановок.


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

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

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