import kotlin.math.max import kotlin.math.sqrt fun main() { val n = readLine()!!.toInt() var maxsq = 1 val sq : (Int) -> Int = {sqrt(it.toDouble()).toInt()} val isSq : (Int) -> Boolean = {sq(it)*sq(it)==it} for(i in 1..sqrt(n.toDouble()).toInt()){ if(n%i != 0) continue if(isSq(n/i)) maxsq = max(maxsq,n/i) else if(isSq(i)) maxsq = max(maxsq, i) } println("${sq(maxsq)} ${n/maxsq}") }