N,H=map(int,input().split()) A=[0]+list(map(int,input().split())) B=[0]+list(map(int,input().split())) cumA=[0 for _ in range(N+1)] cumB=[0 for _ in range(N+1)] for i in range(1,N+1): cumA[i]=cumA[i-1]+A[i] cumB[i]=cumB[i-1]+B[i] ans=0 l=1 s=0 for r in range(1,N+1): s+=(r-l+1)*B[r] while s>H: s-=cumB[r]-cumB[l-1] l+=1 ans=max(ans,cumA[r]-cumA[l-1]) print(ans)