#1247. 打怪!?

打怪!?

打怪!?

题目描述

ty 正在玩一款电脑游戏。这一次,ta的角色正在击杀一些怪物。有 nn 个怪物,编号从 11 到 nn,第 ii 个怪物初始有 aia_i 点生命值。

ty 的角色拥有一种技能,可以对当前生命值最高的怪物造成 kk 点伤害。如果有多个怪物生命值相同且最高,则选择编号较小的那个。如果某个怪物的生命值在受到伤害后小于等于 00,那么它就会死亡。

ty 会不断使用这个技能,直到所有怪物都死亡。你的任务是确定每个怪物死亡的顺序。

输入格式

第一行包含一个整数 tt(1≤t≤1011 \le t \le 10^1),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 kk(1≤n≤3⋅1021 \le n \le 3 \cdot 10^2;104≤k≤10510^4\le k \le 10^5),分别表示怪物的数量和技能造成的伤害值。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1051 \le a_i \le 10^5),表示每个怪物的初始生命值。

所有测试用例中 nn 的总和不超过 3⋅1033 \cdot 10^3。

输出格式

对于每个测试用例,输出 nn 个整数,表示怪物按照死亡顺序的编号。

输入输出样例 #1

输入 #1

3
4 10000
15000 25000 20000 30000
3 10000
15000 25000 20000
4 10000
25000 50000 15000 35000

输出 #1

3 4 1 2
3 1 2
2 1 3 4