main :: IO () main = readLn >>= putStr . palDecomp ['a'..'z'] palDecomp :: [Char] -> Int -> String palDecomp (c:cs) 1 = [c] palDecomp (c:cs) 2 = [c,c] palDecomp (c:cs) n | even n = [c] ++ palDecomp (c:cs) (div n 2) ++ [c] | otherwise = [c] ++ palDecomp cs (n-1) ++ [c]