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: Wrong Answer)

#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int comparewhether(int x,int y,int z);
int main()
{
    int i,x,k=2;
    double result, max=1.0;
    double ii,kk;
    scanf("%d",&x);

    kk=(double)k;

    if(x==1)
    {
        printf("%d",x);
    }
    else
    {


        for(i=2; i<32; i++)
        {
            ii=(double)i;
            while(pow(ii,kk)<x&&k<10)
            {



                if(pow(ii,kk)>max)
                {
                    max=pow(ii,kk);
                }
              //  printf("result=%f\n",pow(ii,kk));
              //  printf("max=%f\n",max);

                 k++;
                  kk=(double)k;
            }

            k=2;
             kk=(double)k;

        }
        printf("%d",(int)max);
    }


    return 0;


}