n,h = map(int,input().split()) a = list(map(int,input().split()))+[0] b = list(map(int,input().split()))+[0] for i in range(n,0,-1): a[i-1] += a[i]; b[i-1] += b[i] k = x = 0; l = r = n while r>0: while l>0 and k+b[l-1]-b[r]<=h: k += b[l-1]-b[r]; l -= 1 x = max(x,a[l]-a[r]); k -= (b[r-1]-b[r])*(r-l); r -= 1; l = min(l,r) print(x)