indent n = concat $ replicate n " " gen n = "case n of\n" ++ concatMap f [0..n] ++ "end\n" where f i = " " ++ show i ++ ": a := '" ++ (show $ product [1..i]) ++ "';\n" main = putStrLn $ gen 64