def traverse(numberOfPeople, maxVal, arr):
returnArr = []
indexes = []
for i in range(numberOfPeople):
indexes.append(i + 1)
while len(arr) != 0:
value = arr.pop(0)
index = indexes.pop(0)
if value <= maxVal:
returnArr.append(index)
else:
arr.append(value - maxVal)
indexes.append(index)
return " ".join(list(map(str, returnArr)))
T = input()
for i in range(int(T)):
values = list(map(int, input().split()))
num = values[0]
maxVal = values[1]
arr = list(map(int, input().split()))
print (traverse(num, maxVal, arr))
ZGVmIHRyYXZlcnNlKG51bWJlck9mUGVvcGxlLCBtYXhWYWwsIGFycik6CgkKCXJldHVybkFyciA9IFtdCglpbmRleGVzID0gW10KCWZvciBpIGluIHJhbmdlKG51bWJlck9mUGVvcGxlKToKCSAgICBpbmRleGVzLmFwcGVuZChpICsgMSkKCXdoaWxlIGxlbihhcnIpICE9IDA6CgkJdmFsdWUgPSBhcnIucG9wKDApCgkJaW5kZXggPSBpbmRleGVzLnBvcCgwKQoJCWlmIHZhbHVlIDw9IG1heFZhbDoKCQkJcmV0dXJuQXJyLmFwcGVuZChpbmRleCkKCQllbHNlOgoJCQlhcnIuYXBwZW5kKHZhbHVlIC0gbWF4VmFsKQoJCQlpbmRleGVzLmFwcGVuZChpbmRleCkKCQoJcmV0dXJuICIgIi5qb2luKGxpc3QobWFwKHN0ciwgcmV0dXJuQXJyKSkpCgkJCgpUID0gaW5wdXQoKQpmb3IgaSBpbiByYW5nZShpbnQoVCkpOgogICAgdmFsdWVzID0gbGlzdChtYXAoaW50LCBpbnB1dCgpLnNwbGl0KCkpKQogICAgbnVtID0gdmFsdWVzWzBdCiAgICBtYXhWYWwgPSB2YWx1ZXNbMV0KICAgIGFyciA9IGxpc3QobWFwKGludCwgaW5wdXQoKS5zcGxpdCgpKSkKICAgIHByaW50ICh0cmF2ZXJzZShudW0sIG1heFZhbCwgYXJyKSk=