-- The pure mathematical logic, completely isolated from IO solve :: Int -> Int solve 1 = 0 solve n = floor (logBase 2 $ fromIntegral $ n - 1) + 1 -- The declarative IO pipeline main :: IO () main = readLn >>= print . solve