Problem:
Score : 200 points

Problem Statement

You are given a positive integer X.
Find the largest perfect power that is at most X.
Here, a perfect power is an integer that can be represented as b^p, where b is an integer not less than 1 and p is an integer not less than 2.

Constraints

1 ≤ X ≤ 1000

X is an integer.

Input

Input is given from Standard Input in the following format:

X

Output

Print the largest perfect power that is at most X.

Sample Input 1

10

Sample Output 1

9

There are four perfect powers that are at most 10: 1, 4, 8 and 9.
We should print the largest among them, 9.

Sample Input 2

1

Sample Output 2

1

Sample Input 3

999

Sample Output 3

961

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main{
	public static void main(String[] args) {
		BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
		String str="";
		int impt=0;
		int beki_max=0;
		int keka=0;
		int moto=0;
		int keka_max=0;

		try {
			str=bfr.readLine();
			if(str.equals("")) {
				System.exit(0);
			}
			impt=Integer.parseInt(str);
			beki_max=(int) ((Math.log(impt) / Math.log(2)));


			for(int i=2; i<=beki_max; i++) {
				keka=((int)Math.pow(impt,(double)1/i));

				moto=keka;
				for(int j=1; j<i; j++) {
					keka=keka*moto;
				}
				//System.out.println(keka);
				if(keka_max<keka && keka<=impt) {
					keka_max=keka;
				}
			}
			System.out.println(keka_max);
		}catch(IOException e) {

		}
		catch(NumberFormatException ee) {
			System.exit(0);
		}

		catch(NullPointerException eee) {
			System.exit(0);
		}

	}
}