n, l = gets.split.map(&:to_i)
segments = []
seg = []
n.times do
    x = gets.to_i
    if seg.size <= 1
        seg << x
    elsif (seg[-2] - seg[-1])  * (seg[-1] - x) < 0
        segments << seg
        seg = [seg[-1], x]
    else
        seg << x
    end
end
segments << seg
p segments.map {|a| a.map {|x| l - x}.inject(:+)}.max
