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 Python (3.4.3) (judge verdict: Accepted)

#平方根を求める
def sqrt(n):
    a = n/2
    while True:
        b = (a+n/a)/2
        if a == b:return b
        else:a,b = b,a


#べき乗数かどうか判断する関数
def pow_judge(n):
    if n == 1 or n == 2:return True
    i = int(sqrt(n))
    if i*i == n:
        return True
    else:
        return False

ls = set()
for i in range(1,32):
    for j in range(2,11):
        if i**j > 1000:break
        ls.add(i ** j)
x = int(input())
for i in range(x,-1,-1):
    if i in ls:
        print(i)
        break