#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int v[1010],w[1010],f[1010];
int main()
{
int t;
cin>>t;
while(t--)
{
int n,V;
cin>>n>>V;
int i,j;
for(i=0;i<n;i++)
cin>>v[i];
for(i=0;i<n;i++)
cin>>w[i];
memset(f,0,sizeof(f));
for(i=0;i<n;i++)
{
for(j=V;j>=w[i];j--)
f[j]=max(f[j],f[j-w[i]]+v[i]);
}
printf("%d\n",f[V]);
}
}