import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int g = 0;
        for (int b = 1; b <= 33; b++) {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        }
        System.out.print(g);
        sc.close();
    }
} import java.util.Scanner; Scanner java.util class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int g = 0;
        for (int b = 1; b <= 33; b++) {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        }
        System.out.print(g);
        sc.close();
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int g = 0;
        for (int b = 1; b <= 33; b++) {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        }
        System.out.print(g);
        sc.close();
    } main {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int g = 0;
        for (int b = 1; b <= 33; b++) {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        }
        System.out.print(g);
        sc.close();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int x = sc.nextInt(); x sc.nextInt() sc.nextInt sc int g = 0; g 0 for (int b = 1; b <= 33; b++) {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        } int b = 1; int b = 1; b 1 b <= 33 b 33 b++ b++ b {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        } {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        } for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            } int p = 2; int p = 2; p 2 p <= 10 p 10 p++ p++ p {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            } {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            } if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                } (int)Math.pow(b,p) > x (int)Math.pow(b,p) Math.pow Math b p x {
                    break;
                } break; if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                } (int)Math.pow(b,p) > g (int)Math.pow(b,p) Math.pow Math b p g {
                    g = (int)Math.pow(b,p);
                } g = (int)Math.pow(b,p) g (int)Math.pow(b,p) Math.pow Math b p System.out.print(g) System.out.print System.out System System.out g sc.close() sc.close sc String[] args args
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int g = 0;
        for (int b = 1; b <= 33; b++) {
            for (int p = 2; p <= 10; p++) {
                if ((int)Math.pow(b,p) > x) {
                    break;
                } else if ((int)Math.pow(b,p) > g){
                    g = (int)Math.pow(b,p);
                }
            }
        }
        System.out.print(g);
        sc.close();
    }
}