#include<bits/stdc++.h> using namespace std; int n,h,H; struct Jack{ int a,b,c,d; }f[1100]; int main( ){ std::ios::sync_with_stdio(false); cin>>n>>h; h*=12; int i,j,k,ans=0,sum=0,maxx; for(i=1;i<=n;i++)cin>>f[i].a; for(i=1;i<=n;i++)cin>>f[i].b; for(i=1;i<n;i++)cin>>f[i].c; for(k=1;k<=n;k++){ for(i=1;i<=k;i++)f[i].d=f[i].a; h=h-f[k-1].c; H=h; if(h<0)break; sum=0; while(H--){ maxx=0; for(i=1;i<=k;i++) if(maxx<f[i].d){ j=i; maxx=f[i].d; } sum+=maxx; f[j].d=f[j].d-f[j].b; } ans=max(ans,sum); } cout<<ans<<endl; }