import java.util.*;
import java.io.*;
 
public class Main{
    public static void main(String[] args){
        Main m = new Main();
        m.input();
    }
 
    public void input(){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int ans = 0;
        for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        }
        sc.close();
        System.out.println(ans);
    }
    
    
} import java.util.*; util.* java import java.io.*; io.* java public class Main{
    public static void main(String[] args){
        Main m = new Main();
        m.input();
    }
 
    public void input(){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int ans = 0;
        for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        }
        sc.close();
        System.out.println(ans);
    }
    
    
} Main public static void main(String[] args){
        Main m = new Main();
        m.input();
    } main {
        Main m = new Main();
        m.input();
    } Main m = new Main(); m new Main() m.input() m.input m String[] args args public void input(){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int ans = 0;
        for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        }
        sc.close();
        System.out.println(ans);
    } input {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int ans = 0;
        for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        }
        sc.close();
        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 = 0; ans 0 for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        } int i = 1; int i = 1; i 1 i <= 32 i 32 i++ i++ i {
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        } {
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        } for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            } int j = 2; int j = 2; j 2 j < 10 j 10 j++ j++ j {
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            } {
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            } if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                } (int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans (int)Math.pow(i,j) <= a (int)Math.pow(i,j) Math.pow Math i j a (int)Math.pow(i, j) > ans (int)Math.pow(i, j) Math.pow Math i j ans {
                    ans = (int)Math.pow(i,j);  
                } ans = (int)Math.pow(i,j) ans (int)Math.pow(i,j) Math.pow Math i j sc.close() sc.close sc System.out.println(ans) System.out.println System.out System System.out ans public class Main{
    public static void main(String[] args){
        Main m = new Main();
        m.input();
    }
 
    public void input(){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int ans = 0;
        for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        }
        sc.close();
        System.out.println(ans);
    }
    
    
} public class Main{
    public static void main(String[] args){
        Main m = new Main();
        m.input();
    }
 
    public void input(){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int ans = 0;
        for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        }
        sc.close();
        System.out.println(ans);
    }
    
    
} Main
import java.util.*;
import java.io.*;
 
public class Main{
    public static void main(String[] args){
        Main m = new Main();
        m.input();
    }
 
    public void input(){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int ans = 0;
        for(int i = 1; i <= 32; i++){
            for(int j = 2; j < 10; j++){
                if((int)Math.pow(i,j) <= a &&(int)Math.pow(i, j) > ans){
                    ans = (int)Math.pow(i,j);  
                }
            }
        }
        sc.close();
        System.out.println(ans);
    }
    
    
}