using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var a = long.Parse(ReadLine()); var ans = int.MaxValue; for (var n = 2; n < 62; ++n) { var all = (long)n; var prev = 1L; for (var m = 1; m < 62; ++m) { if (all >= a) { ans = Math.Min(ans, n * m); break; } prev = all; all = all * n; if (all < prev || all / n != prev) { ans = Math.Min(ans, n * m); break; } } } WriteLine(ans); } }