import Data.List main = do vs <- sort . map read . words <$> getLine print (ita vs) ita vs@[v1,v2,v3,v4] = minimum $ do x <- [1 .. v4] y <- [x .. v4] z <- [y .. v4] return $ sum $ map (f [x,y,z]) vs f _ 0 = 0 f [] v = 10000 f (w:ws) v | w > v = f ws v | otherwise = min (f (w:ws) (v-w) + 1) (f ws v)