n, k = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) if n == 0: print(0) exit() t = [0] * n if n >= 2: t[1] = t[0] + A[0] + B[1] for j in range(3, n + 1): idx = j - 1 option1 = t[j - 2] + A[j - 2] + B[idx] option2 = t[j - 3] + A[j - 3] + B[idx] + k t[idx] = min(option1, option2) max_time = max(t) print(max_time)