import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = Integer.parseInt(scanner.nextLine());
        int lastPow = 1;
        for (int i = 2; i <= x; i++) {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        }
        System.out.println(lastPow);
    }
} import java.util.*; util.* java class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = Integer.parseInt(scanner.nextLine());
        int lastPow = 1;
        for (int i = 2; i <= x; i++) {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        }
        System.out.println(lastPow);
    }
} Main public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = Integer.parseInt(scanner.nextLine());
        int lastPow = 1;
        for (int i = 2; i <= x; i++) {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        }
        System.out.println(lastPow);
    } main {
        Scanner scanner = new Scanner(System.in);
        int x = Integer.parseInt(scanner.nextLine());
        int lastPow = 1;
        for (int i = 2; i <= x; i++) {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        }
        System.out.println(lastPow);
    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int x = Integer.parseInt(scanner.nextLine()); x Integer.parseInt(scanner.nextLine()) Integer.parseInt Integer scanner.nextLine() scanner.nextLine scanner int lastPow = 1; lastPow 1 for (int i = 2; i <= x; i++) {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        } int i = 2; int i = 2; i 2 i <= x i x i++ i++ i {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        } {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        } int pow = i; pow i while (pow * i <= x) {
                pow *= i;
            } pow * i <= x pow * i pow i x {
                pow *= i;
            } pow *= i pow i if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            } i < pow && pow <= x && lastPow < pow i < pow && pow <= x && lastPow < pow i < pow i pow pow <= x pow x lastPow < pow lastPow pow {
                lastPow = pow;
            } lastPow = pow lastPow pow System.out.println(lastPow) System.out.println System.out System System.out lastPow String[] args args
import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = Integer.parseInt(scanner.nextLine());
        int lastPow = 1;
        for (int i = 2; i <= x; i++) {
            int pow = i;
            while (pow * i <= x) {
                pow *= i;
            }
            if (i < pow && pow <= x && lastPow < pow) {
                lastPow = pow;
            }
        }
        System.out.println(lastPow);
    }
}
