import Data.Char (isUpper, isLower, toUpper, toLower) toggleCases :: String -> String toggleCases = map toggleCases' where toggleCases' c | isUpper c = toLower c | isLower c = toUpper c | otherwise = c main :: IO () main = putStrLn . toggleCases =<< getLine