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 C (GCC 5.4.1) (judge verdict: Accepted)

#include<stdio.h>
int aaa(int n,int limit){
  int i=1,count=0;
  while(n*i<=limit){
    i*=n;count++;
  }
  if(count>=2){
    return(i);}
  else{
  return(1);}
}
int main(void){
  int c,n,i=1,max=0;
  scanf("%d",&n);
  if(n>=1)
    max=1;
  for(i=2;i*i<=n;i++){
    c=aaa(i,n);
    if(c>max)
      max=c;
  }
  printf("%d\n",max);
  return(0);
}