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