main :: IO () main = readLn >>= putStr . palDecomp (cycle ['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]