N,H = map(int,input().split()) A = [0]+list(map(int,input().split())) B = [0]+list(map(int,input().split())) cumA = [0]*(N+1) cumB = [0]*(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 hirou = 0 r = 0 for l in range(1,N+1): hirou -= (r-l+2)*B[l-1] while hirou<=H: r += 1 if r>N:break hirou += cumB[r]-cumB[l-1] if r>N: r -= 1 if hirou>H: hirou -= cumB[r]-cumB[l-1] r -= 1 ans = max(ans,cumA[r]-cumA[l-1]) print(ans)