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>
int prost(int a)
 {
 	int i, br=0;
 	for(i=2;i<a;i++)
 	{
 		if (a%i==0)
 		br=br+1;
	 }
 if (br==0)
 return 1;
 else
 return 0;
 }
main()
{
	int i,j,f ,k,n, br, p=1;;
	scanf("%d", &n);
	for(i=2;i<n;i++)
{
	br=0;
	for(j=2;j<i;j++)
	{
		p=1;
		if(prost(j)==1)
		{
	//printf("%d ", j);
		while(p<i)
		{
			 
			p=p*j;
		//printf("%d ", p);
		if (p==i)
		br=br+1;
		}
		}
	if (br!=0)
	f=i;
	}
	}	
	if (f==0)
	{
		if (n==1 || n==2 || n==3)
	printf("1");
	else if (n==4)
	printf("2");
	else printf("%d", f);
	}
	else
 	printf("%d ", f);
	return 0;
}