import Control.Applicative import Data.List import Text.Printf main :: IO () main = do (x, ys) <- solve <$> f printf "%d.%s\n" x (concatMap show ys) where f = map read <$> words <$> getLine solve :: [Int] -> (Int, [Int]) solve [a, b] = (q, take 50 $ unfoldr f (r, b)) where (q, r) = divMod a b f (x, y) = let (x', y') = divMod (10 * x) y in Just (x', (y', y))