#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,j;
cin >> t;
for(j=1;j<=t;j++)
{
int N,x,i;
cin >> N >> x;
int a[N];
queue<pair<int,int>> q;
for(i=0;i<N;i++)
{
cin >> a[i];
q.push({a[i],i+1});
}
if (is_sorted(a, a + N))
{
cout <<"Case #" <<j<<": ";
for(i=1;i<=N;i++)
cout<<i<<" ";
cout<<endl;
continue;
}
int r[N];
int l=0;
while(!q.empty())
{
pair<int, int> k = q.front();
if(k.first > x)
{
k.first=k.first-x;
q.pop();
if(q.empty())
{
r[l++]=k.second;
break;
}
q.push(k);
}
else
{
r[l++]=k.second;
q.pop();
}
}
cout <<"Case #" <<j<<": ";
for(i=0;i<N;i++)
{
cout << r[i] <<" ";
}
cout<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CiAgICBpbnQgdCxqOwogICAgY2luID4+IHQ7CiAgICBmb3Ioaj0xO2o8PXQ7aisrKQogICAgewogICAgICAgIGludCBOLHgsaTsKICAgICAgICBjaW4gPj4gTiA+PiB4OwogICAgICAgIGludCBhW05dOwogICAgICAgIHF1ZXVlPHBhaXI8aW50LGludD4+IHE7CiAgICAgICAgZm9yKGk9MDtpPE47aSsrKQogICAgICAgIHsKICAgICAgICAJY2luID4+IGFbaV07CiAgICAgICAgCXEucHVzaCh7YVtpXSxpKzF9KTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzX3NvcnRlZChhLCBhICsgTikpCiAgICAgICAgewogICAgICAgIAljb3V0IDw8IkNhc2UgIyIgPDxqPDwiOiAiOwogICAgICAgIAlmb3IoaT0xO2k8PU47aSsrKQogICAgICAgIAljb3V0PDxpPDwiICI7CiAgICAgICAgCWNvdXQ8PGVuZGw7CiAgICAgICAgCWNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpbnQgcltOXTsKICAgICAgICBpbnQgbD0wOwogICAgICAgIHdoaWxlKCFxLmVtcHR5KCkpCiAgICAgICAgewogICAgICAgICAgICBwYWlyPGludCwgaW50PiBrID0gcS5mcm9udCgpOwogICAgICAgICAgICBpZihrLmZpcnN0ID4geCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgay5maXJzdD1rLmZpcnN0LXg7CiAgICAgICAgICAgICAgICBxLnBvcCgpOwogICAgICAgICAgICAgICAgaWYocS5lbXB0eSgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgCXJbbCsrXT1rLnNlY29uZDsKICAgICAgICAgICAgICAgIAlicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHEucHVzaChrKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJbbCsrXT1rLnNlY29uZDsKICAgICAgICAgICAgICAgIHEucG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCJDYXNlICMiIDw8ajw8IjogIjsKICAgICAgICBmb3IoaT0wO2k8TjtpKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IHJbaV0gPDwiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGVuZGw7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==