B. Монстры
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Монокарп играет в очередную компьютерную игру. Как обычно, его персонаж занимается убийством монстров. Монокарпу противостоят $$$n$$$ монстров, пронумерованных от $$$1$$$ до $$$n$$$, $$$i$$$-й из них изначально имеет $$$a_i$$$ очков здоровья.

У персонажа Монокарпа есть способность, которая наносит $$$k$$$ урона монстру с наибольшим текущим здоровьем. Если таких монстров несколько, выбирается тот, у которого меньший номер. Если здоровье монстра становится меньше или равно $$$0$$$ после использования способности, то он умирает.

Монокарп использует свою способность до тех пор, пока все монстры не умрут. Ваша задача — определить порядок, в котором монстры будут умирать.

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

Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

Первая строка каждого набора содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 3 \cdot 10^5$$$; $$$1 \le k \le 10^9$$$) — количество монстров и урон способности.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — начальное количество здоровья монстров.

Сумма $$$n$$$ по всем наборах входных данных не превышает $$$3 \cdot 10^5$$$.

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

Для каждого набора входных данных выведите $$$n$$$ целых чисел — номера монстров в порядке, в котором они будут умирать.

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

В первом примере очки здоровья меняются следующим образом: $$$[1, 2, \underline{3}] \rightarrow [1, \underline{2}, 1] \rightarrow [\underline{1}, 0, 1] \rightarrow [-1, 0, \underline{1}] \rightarrow [-1, 0, -1]$$$. Монстр, который получит урон при следующем применении способности Монокарпа, обозначается подчеркнутым.

Во втором примере очки здоровья меняются следующим образом: $$$[\underline{1}, 1] \rightarrow [-2, \underline{1}] \rightarrow [-2, -2]$$$.

В третьем примере очки здоровья меняются следующим образом: $$$[2, \underline{8}, 3, 5] \rightarrow [2, \underline{5}, 3, 5] \rightarrow [2, 2, 3, \underline{5}] \rightarrow [2, 2, \underline{3}, 2] \rightarrow [\underline{2}, 2, 0, 2] \rightarrow [-1, \underline{2}, 0, 2] \rightarrow [-1, -1, 0, \underline{2}] \rightarrow [-1, -1, 0, -1]$$$.