#include<stdio.h>
#include<string.h> #define maxn 1100 int max(int a,int b) { return a>b?a:b; } int main() { int i,j,Case; int bags,total; int weight[maxn],value[maxn],f[maxn]; scanf("%d",&Case); while(Case--) { scanf("%d%d",&bags,&total); memset(f,0,sizeof(f)); for(i=1;i<=bags;i++) scanf("%d",&value[i]); for(i=1;i<=bags;i++) scanf("%d",&weight[i]); for(i=1;i<=bags;i++) { for(j=total;j>=weight[i];j--) { f[j]=max(f[j],f[j-weight[i]]+value[i]); } } printf("%d\n",f[total]); } return 0; }