main :: IO()
main = do
    n <- readLn {-←readLn、スペルあってるのにどうして違うって言われるの。。。-}
    a <- map read.words <$> getLine :: IO [Int]
    print( (max_list a) - (min_list a) )

max_list :: (Ord a) => [a] -> a {-←ここのaをIntにしたら怒られたのなんでだと思う？？？？-}
--maxlist list n
max_list (x:xs) = max x (max_list xs)


min_list :: (Ord a) => [a] -> a
min_list (x:xs) = min x (min_list xs)