main = getLine >> getLine >>= print . cardf . map read . words cardf :: [Int] -> Int cardf (n:ns) = cardf' [n] ns where cardf' s [] = maximum s cardf' s (0:ns) = let s' = 0:s in cardf' [maximum s', minimum s'] ns cardf' s (n:ns) = let s' = [(+n),(+(negate n)),(*n),(`quot` n)] <*> s in cardf' [maximum s', minimum s'] ns