import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int ans = 1;
		
		
		for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		}
		
		System.out.println(ans);
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int ans = 1;
		
		
		for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		}
		
		System.out.println(ans);
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int ans = 1;
		
		
		for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		}
		
		System.out.println(ans);
	} main {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int ans = 1;
		
		
		for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		}
		
		System.out.println(ans);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc int ans = 1; ans 1 for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		} int i=2; int i=2; i 2 i<=a i a i++ i++ i {
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		} {
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		} for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    } int j=2; int j=2; j 2 (int)Math.pow(i, j)<=a (int)Math.pow(i, j) Math.pow Math i j a j++ j++ j {
		        ans = Math.max((int)Math.pow(i,j),ans);
		    } {
		        ans = Math.max((int)Math.pow(i,j),ans);
		    } ans = Math.max((int)Math.pow(i,j),ans) ans Math.max((int)Math.pow(i,j),ans) Math.max Math (int)Math.pow(i,j) Math.pow Math i j ans System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int ans = 1;
		
		
		for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		}
		
		System.out.println(ans);
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int ans = 1;
		
		
		for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		}
		
		System.out.println(ans);
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int ans = 1;
		
		
		for(int i=2; i<=a; i++){
		    for(int j=2; (int)Math.pow(i, j)<=a; j++){
		        ans = Math.max((int)Math.pow(i,j),ans);
		    }
		}
		
		System.out.println(ans);
	}
}
