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)