/*
*
*************************************************************
* AUTHOR : Ashish Gururani *
* Language: C++14 *
* Purpose: - *
* IDE used: Visual Studio Code. *
*************************************************************
*
Comments will be included in practice problems if it helps ^^
*/
#include <bits/stdc++.h>
typedef long long ll;
typedef long double ld;
#define rep(i,n,k) for(ll i=0;i<n;i+=k)
#define rrep(i,n,k) for(ll i=n;i>=0;i-=k)
#define rep1(i,n,k) for(ll i=1;i<n;i+=k)
#define vi vector<int>
#define vl vector<ll>
#define vs vector<string>
#define vvi vector<vi>
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define tc(t) long long t;cin>>t;while(t--)
#define all(x) (x).begin(), (x).end()
#define dbg(x) cout<<x<<" = "<<x<<endl
#define inf 1e6+5
#define mod ll(1e9+7)
using namespace std;
template<typename T>
void print_array(const T &arr, char c = ' ')
{
for (auto x : arr)
{
cout << x << c;
}
cout << endl;
}
template<typename T>
void input_array(vector< T> &arr)
{
for (ll i = 0; i < arr.size(); i++)
{
cin>>arr[i];
}
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("error.txt", "w", stderr);
freopen("output.txt", "w", stdout);
#endif
fast;
ll a, b,c,d,e,f,m,n,p,q;
string s,r;
tc(t)
{
cin>>n>>d;
vector<pair<ll,ll>>v(n);
rep(i,n,1)cin>>v[i].first;
rep(i,n,1)cin>>v[i].second;
sort(all(v));
vl check(n,0),swewtness(n,0);
ll mxsweet=0;
for (ll i = 0; i < n; i++)
{
check[i]=v[i].first;
mxsweet=max(mxsweet, v[i].second);
swewtness[i]=mxsweet;
}
ll ans=0;
for (ll i = n-1; i>=0; i--)
{
if(v[i].first>d){
continue;
}
ll sw=v[i].second;
ll j=upper_bound(all(check),d-v[i].first)-check.begin();
j--;
j=min(j,i-1);
if(j>=0)
sw+=swewtness[j];
ans=max(ans, sw);
}
cout<<ans<<endl;
}
return 0;
}
LyoKKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogQVVUSE9SIDogQXNoaXNoIEd1cnVyYW5pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKiBMYW5ndWFnZTogQysrMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgoqIFB1cnBvc2U6IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiogSURFIHVzZWQ6IFZpc3VhbCBTdHVkaW8gQ29kZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqCkNvbW1lbnRzIHdpbGwgYmUgaW5jbHVkZWQgaW4gcHJhY3RpY2UgcHJvYmxlbXMgaWYgaXQgaGVscHMgXl4KKi8KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnR5cGVkZWYgbG9uZyAgICAgICAgICAgICBsb25nIGxsOwp0eXBlZGVmIGxvbmcgICAgICAgICAgICAgZG91YmxlIGxkOwojZGVmaW5lIHJlcChpLG4saykgICAgICAgZm9yKGxsIGk9MDtpPG47aSs9aykKI2RlZmluZSBycmVwKGksbixrKSAgICAgIGZvcihsbCBpPW47aT49MDtpLT1rKQojZGVmaW5lIHJlcDEoaSxuLGspICAgICAgZm9yKGxsIGk9MTtpPG47aSs9aykKI2RlZmluZSB2aSAgICAgICAgICAgICAgIHZlY3RvcjxpbnQ+CiNkZWZpbmUgdmwgICAgICAgICAgICAgICB2ZWN0b3I8bGw+CiNkZWZpbmUgdnMgICAgICAgICAgICAgICB2ZWN0b3I8c3RyaW5nPgojZGVmaW5lIHZ2aSAgICAgICAgICAgICAgdmVjdG9yPHZpPgojZGVmaW5lIGZhc3QgICAgICAgICAgICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKTtjb3V0LnRpZShOVUxMKQojZGVmaW5lIHBiICAgICAgICAgICAgICAgcHVzaF9iYWNrCiNkZWZpbmUgbXAgICAgICAgICAgICAgICBtYWtlX3BhaXIKI2RlZmluZSBmaSAgICAgICAgICAgICAgICBmaXJzdAojZGVmaW5lIHNlICAgICAgICAgICAgICAgIHNlY29uZAojZGVmaW5lIHRjKHQpICAgICAgICAgICAgbG9uZyBsb25nIHQ7Y2luPj50O3doaWxlKHQtLSkKI2RlZmluZSBhbGwoeCkgICAgICAgICAgICh4KS5iZWdpbigpLCAoeCkuZW5kKCkKI2RlZmluZSBkYmcoeCkgICAgICAgICAgIGNvdXQ8PHg8PCIgPSAiPDx4PDxlbmRsCiNkZWZpbmUgaW5mICAgICAgICAgICAgICAgICAxZTYrNQojZGVmaW5lIG1vZCAgICAgICAgICAgICAgbGwoMWU5KzcpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgp2b2lkIHByaW50X2FycmF5KGNvbnN0IFQgJmFyciwgY2hhciBjID0gJyAnKQp7CmZvciAoYXV0byB4IDogYXJyKQp7CmNvdXQgPDwgeCA8PCBjOwp9CmNvdXQgPDwgZW5kbDsKfQoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBpbnB1dF9hcnJheSh2ZWN0b3I8IFQ+ICZhcnIpCnsKZm9yIChsbCBpID0gMDsgaSA8IGFyci5zaXplKCk7IGkrKykKewpjaW4+PmFycltpXTsKfQp9CgoKaW50IG1haW4oKQp7CiNpZm5kZWYgT05MSU5FX0pVREdFCmZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwpmcmVvcGVuKCJlcnJvci50eHQiLCAidyIsIHN0ZGVycik7CmZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgpmYXN0OwpsbCBhLCBiLGMsZCxlLGYsbSxuLHAscTsKc3RyaW5nIHMscjsKCnRjKHQpCnsKICAgICBjaW4+Pm4+PmQ7CiAgICAgdmVjdG9yPHBhaXI8bGwsbGw+PnYobik7CiAgICByZXAoaSxuLDEpY2luPj52W2ldLmZpcnN0OwogICAgcmVwKGksbiwxKWNpbj4+dltpXS5zZWNvbmQ7CgogICAgc29ydChhbGwodikpOwogICAgdmwgY2hlY2sobiwwKSxzd2V3dG5lc3MobiwwKTsKCiAgICBsbCBteHN3ZWV0PTA7CiAgICBmb3IgKGxsIGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgY2hlY2tbaV09dltpXS5maXJzdDsKCiAgICAgICBteHN3ZWV0PW1heChteHN3ZWV0LCB2W2ldLnNlY29uZCk7CgogICAgICAgc3dld3RuZXNzW2ldPW14c3dlZXQ7CiAgICB9CiAgICBsbCBhbnM9MDsKICAgIAogICAgZm9yIChsbCBpID0gbi0xOyBpPj0wOyBpLS0pCiAgICB7ICAKICAgICAgIGlmKHZbaV0uZmlyc3Q+ZCl7CiAgICAgICAgICAgY29udGludWU7CiAgICAgICB9CiAgICAgICBsbCBzdz12W2ldLnNlY29uZDsKICAgICAgIGxsIGo9dXBwZXJfYm91bmQoYWxsKGNoZWNrKSxkLXZbaV0uZmlyc3QpLWNoZWNrLmJlZ2luKCk7CiAgIAogICAgICAgai0tOwogICAgICAgaj1taW4oaixpLTEpOwogICAgICAgIGlmKGo+PTApCiAgICAgICAgICBzdys9c3dld3RuZXNzW2pdOwogICAgICAgYW5zPW1heChhbnMsIHN3KTsKICAgIH0KICAgIGNvdXQ8PGFuczw8ZW5kbDsKICAgIAp9CnJldHVybiAwOwp9