fun main(args:Array<String>) {
	val x = readLine()!!.toInt()
	
	(1..32).map{ b->
		(2..10).map{ p-> Math.pow(b.toDouble(),p.toDouble()) } }
			.flatten()
			.filter { it.toInt()<=x }
			.max()!!.toInt()
			.let { println(it) }
}