import System.Environment import Data.String.Utils main = do args <- getArgs let input = replace " " "" (head args) print $ map (`shiftN` (read $ args!!1)) input -- shiftN c i: shift c i times forward (i.e. shiftN 'A' 1 == 'B') -- Only for uppercase letters shiftN :: Char -> Int -> Char shiftN c 0 = c shiftN 'Z' i = shiftN 'A' (i-1) shiftN c i = shiftN (toEnum ((fromEnum c) + 1)) (i-1)