fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) val () = let val n = readInt () val k = readInt () val ns = List.tabulate (n, fn _ => readInt ()) val (min, max) = List.foldl (fn (x, (minAcc, maxAcc)) => (Int.min (x, minAcc), Int.max (x, maxAcc))) (2000, ~1) ns val ans = max - min in print (Int.toString ans ^ "\n") end