n, h = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
r = asm = bsm = now = ans = 0
for l in range(n):
    while r < n and now + (r + 1 - l) * b[r] <= h:
        asm += a[r]
        bsm += b[r]
        now += (r + 1 - l) * b[r]
        r += 1
    ans = max(ans, asm)
    if r == l:
        r += 1
    else:
        now -= bsm
        asm -= a[l]
        bsm -= b[l]
print(ans)