module Main where import Data.Function (on) main :: IO () main = getIntList >>= print . solve solve :: [Int] -> Double solve [m, n] = ave $ go n [m] ave :: [Int] -> Double ave = on (/) fromIntegral <$> sum <*> length go :: Int -> [Int] -> [Int] go 0 xs = xs go n xs = go (n - 1) $ do x <- xs [x * 2, x + 1, 0] getIntList :: IO [Int] getIntList = map read . words <$> getLine