#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 2e5 + 5, mod = 1e9 + 7, LG = 20;
vector <vector <array <int, 3>>> dp;
int n, h, d[105], s[105], id[105];
vector <int> ans;
array <int, 3> solve(int idx, int time) {
if (time > h)
return {(int)-1e9, (int)1e9, (int)1e9};
if (idx == n || time >= h)
return {0, 0, 0};
auto &ret = dp[idx][time];
if (~ret[0])
return ret;
ret = solve(idx + 1, time);
auto res = solve(idx + 1, time + d[idx]);
res[0] += s[idx];
res[1] += d[idx] + time;
res[2] = id[idx];
if (ret[0] == res[0]) {
if (ret[1] > res[1])
ret = res;
else if (ret[1] == res[1]) {
if (ret[2] > res[2])
ret = res;
}
}
else if (res[0] > ret[0])
ret = res;
return ret;
}
void build(int idx, int time) {
if (time > h)
return;
if (idx == n || time >= h)
return;
auto &ret = dp[idx][time];
if (ret == solve(idx + 1, time)) {
build(idx + 1, time);
return;
}
ans.push_back(id[idx]);
build(idx + 1, time + d[idx]);
}
void burn() {
cin >> n >> h;
h *= 60;
vector <array <int, 3>> vec(n);
for (int i = 0; i < n; i++)
cin >> d[i], d[i] *= 2, d[i] /= 100, vec[i][0] = d[i];
for (int i = 0; i < n; i++)
cin >> s[i], vec[i][2] = s[i], vec[i][1] = i+1;
sort(vec.begin(), vec.end());
for (int i = 0; i < n; i++)
d[i] = vec[i][0], s[i] = vec[i][2], id[i] = vec[i][1];
array <int, 3> tmp = {-1, -1, -1};
dp = vector <vector <array <int, 3>>> (n, vector <array <int, 3>> (h, tmp));
auto res = solve(0, 0);
build(0, 0);
for (auto &a : ans)
cout << a << ' ';
cout << '\n';
ans.clear();
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
cin >> t;
while(t--)
burn();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMmU1ICsgNSwgbW9kID0gMWU5ICsgNywgTEcgPSAyMDsKdmVjdG9yIDx2ZWN0b3IgPGFycmF5IDxpbnQsIDM+Pj4gZHA7CmludCBuLCBoLCBkWzEwNV0sIHNbMTA1XSwgaWRbMTA1XTsKdmVjdG9yIDxpbnQ+IGFuczsKCmFycmF5IDxpbnQsIDM+IHNvbHZlKGludCBpZHgsIGludCB0aW1lKSB7CiAgICBpZiAodGltZSA+IGgpCiAgICAgICAgcmV0dXJuIHsoaW50KS0xZTksIChpbnQpMWU5LCAoaW50KTFlOX07CiAgICBpZiAoaWR4ID09IG4gfHwgdGltZSA+PSBoKQogICAgICAgIHJldHVybiB7MCwgMCwgMH07CiAgICBhdXRvICZyZXQgPSBkcFtpZHhdW3RpbWVdOwogICAgaWYgKH5yZXRbMF0pCiAgICAgICAgcmV0dXJuIHJldDsKICAgIHJldCA9IHNvbHZlKGlkeCArIDEsIHRpbWUpOwoKICAgIGF1dG8gcmVzID0gc29sdmUoaWR4ICsgMSwgdGltZSArIGRbaWR4XSk7CiAgICByZXNbMF0gKz0gc1tpZHhdOwogICAgcmVzWzFdICs9IGRbaWR4XSArIHRpbWU7CiAgICByZXNbMl0gPSBpZFtpZHhdOwogICAgaWYgKHJldFswXSA9PSByZXNbMF0pIHsKICAgICAgICBpZiAocmV0WzFdID4gcmVzWzFdKQogICAgICAgICAgICByZXQgPSByZXM7CiAgICAgICAgZWxzZSBpZiAocmV0WzFdID09IHJlc1sxXSkgewogICAgICAgICAgICBpZiAocmV0WzJdID4gcmVzWzJdKQogICAgICAgICAgICAgICAgcmV0ID0gcmVzOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgaWYgKHJlc1swXSA+IHJldFswXSkKICAgICAgICByZXQgPSByZXM7CiAgICByZXR1cm4gcmV0OwoKfQoKdm9pZCBidWlsZChpbnQgaWR4LCBpbnQgdGltZSkgewogICAgaWYgKHRpbWUgPiBoKQogICAgICAgIHJldHVybjsKICAgIGlmIChpZHggPT0gbiB8fCB0aW1lID49IGgpCiAgICAgICAgcmV0dXJuOwogICAgYXV0byAmcmV0ID0gZHBbaWR4XVt0aW1lXTsKCiAgICBpZiAocmV0ID09IHNvbHZlKGlkeCArIDEsIHRpbWUpKSB7CiAgICAgICAgYnVpbGQoaWR4ICsgMSwgdGltZSk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgYW5zLnB1c2hfYmFjayhpZFtpZHhdKTsKICAgIGJ1aWxkKGlkeCArIDEsIHRpbWUgKyBkW2lkeF0pOwp9CnZvaWQgYnVybigpIHsKICAgIGNpbiA+PiBuID4+IGg7CiAgICBoICo9IDYwOwogICAgdmVjdG9yIDxhcnJheSA8aW50LCAzPj4gdmVjKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IGRbaV0sIGRbaV0gKj0gMiwgZFtpXSAvPSAxMDAsIHZlY1tpXVswXSA9IGRbaV07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgICAgICBjaW4gPj4gc1tpXSwgdmVjW2ldWzJdID0gc1tpXSwgdmVjW2ldWzFdID0gaSsxOwogICAgc29ydCh2ZWMuYmVnaW4oKSwgdmVjLmVuZCgpKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgICAgICBkW2ldID0gdmVjW2ldWzBdLCBzW2ldID0gdmVjW2ldWzJdLCBpZFtpXSA9IHZlY1tpXVsxXTsKICAgIGFycmF5IDxpbnQsIDM+IHRtcCA9IHstMSwgLTEsIC0xfTsKICAgIGRwID0gdmVjdG9yIDx2ZWN0b3IgPGFycmF5IDxpbnQsIDM+Pj4gKG4sIHZlY3RvciA8YXJyYXkgPGludCwgMz4+IChoLCB0bXApKTsKCiAgICBhdXRvIHJlcyA9IHNvbHZlKDAsIDApOwogICAgYnVpbGQoMCwgMCk7CgogICAgZm9yIChhdXRvICZhIDogYW5zKQogICAgICAgIGNvdXQgPDwgYSA8PCAnICc7CiAgICBjb3V0IDw8ICdcbic7CiAgICBhbnMuY2xlYXIoKTsKCgp9CgpzaWduZWQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIGludCB0ID0gMTsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUodC0tKQogICAgICAgIGJ1cm4oKTsKfQ==