import Data.Int main = getLine >>= putStrLn . unwords. map show . solve . (read :: String -> Int64) solve m = [x, m `div` x] where x = head [x | x <- reverse [1..ceiling $ sqrt $ fromIntegral m], m `mod` x == 0]