N, D = gets.split.map &:to_i
T, K = $<.map{|s|s.split.map &:to_i}.transpose

$t = {}
$k = {}
def t(n)
  $t[n] ||= if n == 0
    T[0]
  else
    T[n] + [t(n-1), k(n-1)-D].max
  end
end

def k(n)
  $k[n] ||= if n == 0
    K[0] - D
  else
    K[n] + [k(n-1), t(n-1)-D].max
  end
end

p [t(N-1), k(N-1)].max