import java.util.*;
public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int X = sc.nextInt();
    int i=0;
    //べき乗数を後ろから探す
    for(i=X;i>0;i--){
      if(judge(i)){
        break;
      }
    }
    System.out.println(i);
  }
    //べき乗数かどうか
    private static boolean judge(int n){
      boolean re = false;
      if(n==1){//１のとき
        re = true;
      }else{//１以外なら
        for(int i=2;i<n;i++){
          for(int j=1;j<n;j++){
            int m = (int)Math.pow(i,j);
            if(m==n){
              re = true;
              break;
            }
          }
        }
      }
        return re;
      }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz