#include <iostream>
using namespace std;
int w[25],c[25],v[25],maxx;
int main(){
int n,wk;
cin>>n>>wk;
for(int i=1;i<=n;i++)
cin>>w[i];
for(int i=1;i<=n;i++)
cin>>c[i];
while(v[0]==0){
int sumw=0,sumc=0,k=n;
}
while(v[k]==1){//从右往左找第一个0的位置
v[k]--;//在此之前的都变0
k--;
}
v[k]=1; //找到后该位变1
for(int i=1;i<=n;i++){
sumw+=v[i]*w[i];
sumc+=v[i]*c[i];
}
if(sumw<=wk&&sumc>maxx)
maxx=sumc;
}
cout<<maxx;
return 0;
}#转载请注明出处!