object Main { def a(n: BigInt): (Int, BigInt) = Stream.from(1).takeWhile(_ <= 1000000).filter(n % _ == 0).map(d => (d, n / d)).last def main(args: Array[String]) = { val ans = a(BigInt(io.StdIn.readLine)) println(ans._1.toString + " " + ans._2) } }