let main () =
  let rec expi a b = if b = 1 then a else expi (a*a) (b-1) in
  let x = Scanf.scanf "%d\n" (fun a -> a) in
  let xs = ref [1] in
  let rec minexp x i acc = if expi i acc <= x then minexp x i (acc+1) else expi i (acc-1) in
  for i = 2 to int_of_float (sqrt (float_of_int x)) + 1 do
    xs := minexp x i 2 :: !xs;
  done;
  xs := List.sort (fun a b -> (-1 * compare a b)) !xs;
  print_int @@ List.hd !xs

let _ = main ()