B. Создание перестановки
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Перестановкой длины $$$n$$$ называется массив из $$$n$$$ элементов, где каждое целое число от $$$1$$$ до $$$n$$$ встречается ровно один раз.

Была некоторая перестановка $$$p$$$ длины $$$n$$$. По этой перестановке построили два массива длины $$$n$$$: $$$[a_1, a_2, \dots, a_n]$$$ и $$$[b_1, b-2, \dots, b_n]$$$, где $$$a_i$$$ — расстояние от $$$i$$$-й позиции в перестановке до позиции максимального элемента, а $$$b_i$$$ — расстояние от $$$i$$$-й позиции в перестановке до позиции минимального элемента.

Например, по перестановке $$$p = [3, 2, 5, 1, 4]$$$ получились бы следующие массивы: $$$a = [2, 1, 0, 1, 2]$$$ и $$$b = [3, 2, 1, 0, 1]$$$.

После построения массивов $$$a$$$ и $$$b$$$ все числа в них сложили и получили число $$$m$$$. Ваша задача — по заданным $$$n$$$ и $$$m$$$ восстановить любую подходящую перестановку $$$p$$$.

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

В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 2000$$$) — количество наборов входных данных.

Каждый набор входных данных состоит из одной строки, содержащей два целых числа $$$n$$$ и $$$m$$$ ($$$3 \le n \le 6000$$$; $$$0 \le m \le n \cdot (n-1)$$$).

Дополнительное ограничение на входные данные: сумма $$$n$$$ по всем наборам входных данных не превосходит $$$6000$$$.

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

На каждый набор входных данных выведите ответ следующим образом:

  • если подходящей перестановки $$$p$$$ длины $$$n$$$, из которой в ходе описанного процесса было бы получено заданное число $$$m$$$, не существует, выведите $$$0$$$;
  • иначе выведите $$$n$$$ различных целых чисел $$$p_1, p_2, \dots, p_n$$$ ($$$1 \le p_i \le n$$$) — искомую перестановку. Если подходящих перестановок несколько, вы можете вывести любую из них.
Пример
Входные данные
3
5 13
5 12
3 6
Выходные данные
3 2 5 1 4
0
1 2 3