import std.stdio, std.math;

void main()
{
  long x;
  readf("%d", &x);

  long ans = 1;
  for (auto i = 2; i <= x; i++) {
    for (auto p = 2; ; p++) {
      auto a = pow(i,p);
      if (a > x) {
        break;
      }
      if (a > ans) {
        ans = a;
      }
    }
  }

  writeln(ans);

}
