using namespace std;
int n,ans,bagV;
int v[1000001];//数量
int c[1000001];//价格
int dp[1000001];
int main()
{
cin>>n>>bagV;
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
}
for(int i=1;i<=n;i++)
{
scanf("%d",&c[i]);
}
for(int i=1;i<=n;i++)
{
for(int k=1;k<=bagV;k<<=1)
{
int x=min(k,c[i]);
for(int j=bagV;j>=0;j--)
{
dp[j]=max(dp[j],dp[j-x*v[i]]+v[i]*x);
}
c[i]-=x;
}
}
cout<<dp[bagV];
}```