import kotlin.math.* fun g(n: Long): Long = floor(sqrt(n.toDouble())).toLong() fun f(m: Long, n: Long): Long { for (i in 3..m) if (n%i==0L) return i return if (n!=4L&&n%2==0L) n/2 else n } fun main(args: Array) { val n = readLine()!!.toLong() println(f(g(n),n)) }