N, D = gets.split.map(&:to_i) TK = N.times.map{ gets.split.map(&:to_i) } t, k = TK.shift tokyo = t kyoto = k - D TK.each do | t, k | _tokyo = tokyo _kyoto = kyoto tokyo = [_tokyo + t , _kyoto + t - D].max kyoto = [_tokyo + k - D, _kyoto + k].max end p [tokyo, kyoto].max