/* * Reference: http://lizan.asia/blog/2012/12/11/scala-competitive/ */ object Main extends App { import java.{util => ju} import scala.annotation._ import scala.collection._ import scala.collection.{mutable => mu} import scala.collection.JavaConverters._ import scala.math._ val sc = new ju.Scanner(System.in) @tailrec private final def t(v : Long , p : Long, acc : Long) : Long = { if (v < p * p) { return acc * v } var cnt = 0 var x = v while (x % p == 0) { cnt = 1 - cnt x /= p } var nacc = acc if (cnt == 1) nacc *= p t(x, p + 1, nacc) } val q = sc.nextLong println(t(q, 2, 1)) }