import Control.Monad suc :: Char -> [Char] suc 'Z' = "AA" suc c = [succ c] suc' :: [Char] -> [Char] suc' [] = "A" suc' s | length c == 2 = (suc' $ init s) ++ [last c] | otherwise = init s ++ c where c = suc $ last s solve :: Integer -> String -> String solve 0 s = s solve n s = solve (pred n) (suc' s) main = do n <- readLn putStrLn $ solve n "A"