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