import Control.Monad import Control.Applicative main :: IO () main = do n <- read <$> getLine :: IO Integer print $ head $ do x <- [3..] if n `mod` x == 0 then return x else do guard $ x^2 > n return $ if n `mod` 2 == 0 && n > 4 then n `div` 2 else n