import qualified Data.ByteString.Char8 as B import Control.Monad import qualified Data.Vector.Unboxed as VU import Data.Maybe import Data.List readInt = fst . fromJust . B.readInteger getInt = readInt <$> B.getLine getIntN n = map readInt <$> replicateM (fromIntegral n) B.getLine main :: IO () main = do n <- getInt k <- getInt ns <- getIntN n print $ solve ns solve :: [Integer] -> Integer solve ns = (last ns') - (head ns') where ns' = sort ns