N,H = map(int,input().split()) A = list(map(int,input().split())) B = list(map(int,input().split())) A2 = [0] + A[:] B2 = [0] + B[:] for i in range(1,N + 1): A2[i] += A2[i-1] B2[i] += B2[i-1] j = 0 ans = 0 tmp = 0 for i in range(N): while j < N and tmp <= H: ans = max(ans,A2[j] - A2[i]) #print(i,j,tmp,A2[j] - A2[i]) j += 1 tmp += B[j-1] * (j - i) tmp -= (B2[j] - B2[i]) print(ans)