import java.util.Scanner;
public class Main {
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int tmp=1;
		for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		}
		System.out.println(tmp);
	}
 
} import java.util.Scanner; Scanner java.util public class Main {
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int tmp=1;
		for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		}
		System.out.println(tmp);
	}
 
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int tmp=1;
		for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		}
		System.out.println(tmp);
	} main {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int tmp=1;
		for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		}
		System.out.println(tmp);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int X = sc.nextInt(); X sc.nextInt() sc.nextInt sc int tmp=1; tmp 1 for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		} int i=1; int i=1; i 1 i<X i X i++ i++ i {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		} {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		} for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			} int j=2; int j=2; j 2 j<=100 j 100 j++ j++ j {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			} {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			} if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								} Math.pow(i, j)>tmp&&Math.pow(i, j)<=X Math.pow(i, j)>tmp Math.pow(i, j) Math.pow Math i j tmp Math.pow(i, j)<=X Math.pow(i, j) Math.pow Math i j X {
 
					tmp = (int) Math.pow(i, j);
								} tmp = (int) Math.pow(i, j) tmp (int) Math.pow(i, j) Math.pow Math i j if(Math.pow(i, j)>X) {
						break;
				} Math.pow(i, j)>X Math.pow(i, j) Math.pow Math i j X {
						break;
				} break; System.out.println(tmp) System.out.println System.out System System.out tmp String[] args args public class Main {
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int tmp=1;
		for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		}
		System.out.println(tmp);
	}
 
} public class Main {
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int tmp=1;
		for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		}
		System.out.println(tmp);
	}
 
} Main
import java.util.Scanner;
public class Main {
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int tmp=1;
		for(int i=1;i<X;i++) {
			for(int j=2;j<=100;j++) {
				if(Math.pow(i, j)>tmp&&Math.pow(i, j)<=X) {
 
					tmp = (int) Math.pow(i, j);
								}
				if(Math.pow(i, j)>X) {
						break;
				}
 
			}
 
		}
		System.out.println(tmp);
	}
 
}