import java.util.*;
import java.util.Arrays;

public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int X=sc.nextInt();
		int[] num=new int[1001];
		int l=1;
		int ans=0;
		num[0]=1;
		
		for(int i=2;i<32;i++){
			int tmp=i;
			for(int j=2;j<10;j++){
				tmp*=i;
				if(tmp<=1000){
					num[l]=tmp;
					l++;
				}
			}
		}

		Arrays.sort(num);

		if(X<1000){
			for(int k=0;k<num.length;k++){
				if(num[k]!=0 && num[k]<=X && X<num[k+1]){ 
					ans=num[k];
				}
			}
		}else{
			ans=1000;
		}


		System.out.println(ans);
		
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz