main = do
  li <- getLine
  let [n,t] = map read $ words li
  li <- getLine
  let ts = map read $ words li
  let ans = compute t ts
  print ans

{-
時刻0にまず先頭の人が押している。
それを原点とした絶対時刻がts
前の人との時間差 ti+1 - ti = di を求めて、
t <= di ならiの人はtだけフルに流れ、
t > di ならdiまでしか流れないで次の押し込みの分になる。
つまりmin t di
最後の人の分は必ずt流れる
-}

compute :: Int -> [Int] -> Int
compute t ts = t + sum ds
  where
    ds = zipWith f ts (0:ts)
    f t1 t0 = min t (t1 - t0)
