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 Java7 (OpenJDK 1.7.0) (judge verdict: Wrong Answer)

 import java.util.ArrayList;
import java.util.Scanner;
  class Main  {
     public static void main(String[]args){
         Scanner scan = new Scanner(System.in);
         int n = scan.nextInt();
         int max = 0 ;
         if(n==1){
             max = 1;
         }
         for(int i = 2 ; i<= n ; i++ ){
             for(int j  = 1 ; j<=n ; j++){
                
                 if(Math.pow(j, i) - (int)Math.pow(j,i) == 0){
                     
                     if( (int)Math.pow(j,i) > max && (int)Math.pow(j,i)<=n){
                         max =  (int)Math.pow(j,i) ;
                     }
                 }
                  System.out.print((int)Math.pow(j,i)+" ");
                 if( (int)Math.pow(j+1,i ) > n){
                     break;
                 }
                 
             }
             System.out.println();
         }
         System.out.println(max);
         
     }
}