{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE TypeApplications #-}
module Main (main) where

import qualified Data.ByteString.Char8 as C8
import qualified Data.Char as C
import qualified Data.List as L

main :: IO ()
main = readInts >>= output . solve

-- solve :: [Int] -> _
-- solve [x] = fst $ until ((x'<=).snd) (\(n,v) -> (n+1, fromIntegral @Int @Double . floor . (*rate) $ v)) (0, 100.0)
--   where
--     x' = fromIntegral @Int @Double x
--     rate = 1.01 :: Double

solve :: [Int] -> Int
solve [x] = fst $ until ((toDouble x <=) . snd) (fork (+1) (toDouble . floor . (*1.01))) (0, 100.0)
  where
    fork f g (v,w) = (f v, g w)
    toDouble = fromIntegral @Int @Double

output :: _ -> IO ()
output = print

-- utils
readInts :: IO [Int]
readInts = L.unfoldr (C8.readInt . C8.dropWhile C.isSpace) <$> C8.getLine