import Data.Char (chr, ord) l :: Int l = length ['A'..'Z'] main :: IO () main = putStrLn . solve =<< readLn solve :: Int -> String solve = alphabet . solve' solve' :: Int -> [Int] solve' n = solve'' n [] solve'' :: Int -> [Int] -> [Int] solve'' n xs = if d == 0 then xs' else solve'' (d - 1) xs' where (d, m) = n `divMod` l xs' = (m:xs) alphabet :: [Int] -> String alphabet = map (chr . (+ (ord 'A')))