main :: IO () main = do input <- readFile "input" let ls = map parseLine . lines $ input print (sum (map (\(v,l) -> if canSolve v l then v else 0) ls)) canSolve val [] = False canSolve val [n] = val == n canSolve val (n:m:rest) = canSolve val (n+m:rest) || canSolve val (n*m:rest) parseLine l = (readInt (init (head w)), map readInt (tail w)) where w = words l readInt :: String -> Integer readInt = read