В детстве Панчо подарили перестановку$$$^{\text{∗}}$$$ $$$p_1, p_2, \ldots, p_n$$$. С этой перестановкой у него связано много тёплых воспоминаний, но в день своего $$$18$$$-летия он с ужасом понял, что некоторые элементы перестановки могли стереться.
Панчо никогда не умел хорошо запоминать длинные последовательности чисел, но он помнит два свойства перестановки:
Ваша задача — помочь Панчо, выведя перестановку, занимающую $$$k$$$-е место в лексикографическом порядке$$$^{\text{†}}$$$, соответствующую сохранившейся информации, либо сообщив, что такой перестановки не существует.
$$$^{\text{∗}}$$$Перестановка длины $$$n$$$ — это массив из $$$n$$$ различных целых чисел от $$$1$$$ до $$$n$$$, расположенных в произвольном порядке. Например, $$$[2,3,1,5,4]$$$ является перестановкой, а $$$[1,2,2]$$$ не является перестановкой (число $$$2$$$ встречается в массиве дважды); $$$[1,3,4]$$$ также не является перестановкой (при $$$n=3$$$ в массиве присутствует число $$$4$$$).
$$$^{\text{†}}$$$Массив $$$a$$$ лексикографически меньше массива $$$b$$$ тогда и только тогда, когда выполняется одно из следующих условий:
Каждый тест содержит несколько наборов входных данных. В первой строке содержится количество наборов входных данных $$$t$$$ ($$$1 \leq t \leq 100$$$). Далее следует описание наборов входных данных.
В первой строке каждого набора входных данных содержатся два целых числа $$$n$$$ и $$$k$$$ ($$$2 \leq n \leq 10^6$$$ и $$$1 \leq k \leq 10^{18}$$$) — длина перестановки и индекс той из них, которую нужно построить.
Во второй строке каждого набора входных данных содержатся $$$n$$$ целых чисел $$$p_1,p_2,\dots,p_n$$$ (если $$$p_i$$$ известно, то $$$1 \leq p_i \leq n$$$; иначе $$$p_i=-1$$$) — известная информация об исходной перестановке.
Гарантируется, что известные значения $$$p_i$$$ (те, для которых $$$p_i \neq -1$$$) попарно различны.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^6$$$.
Для каждого набора входных данных выведите строку. Выведите $$$-1$$$, если допустимых перестановок меньше $$$k$$$. Иначе выведите $$$n$$$ целых чисел, представляющих требуемую перестановку.
45 11 2 3 4 56 69-1 -1 -1 -1 -1 -14 2-1 -1 -1 -110 105 3 9 -1 -1 10 -1 2 -1 -1
-13 4 1 6 2 53 1 4 25 3 9 1 6 10 7 2 8 4
В первом наборе входных данных первые два элемента известной информации равны $$$1$$$ и $$$2$$$. Поскольку эти два числа в точности образуют перестановку длины $$$2$$$, допустимых перестановок нет.
В третьем наборе входных данных существуют ровно $$$2$$$ допустимые перестановки (в лексикографическом порядке): $$$[2, 4, 1, 3]$$$ и $$$[3, 1, 4, 2]$$$.
Требуется вторая из них, поэтому она и является ответом.
| Название |
|---|


