using static System.Math; using System; public class Hello { static void Main() { var n = long.Parse(Console.ReadLine().Trim()); if (n <= 3) Console.WriteLine(n); getAns(n); } static void getAns(long n) { var ans = n + 1; var jmax = (int)(Log10(n) / Log10(2)); for (long i = 2; i * i <= n; i++) { var p = 0; var x = 1L; while (p < jmax) { if (x * i > n) break; x *= i; p++; } var k = n - x; if (k >= 0) ans = Min(ans, i + p + k); } Console.WriteLine(ans); } }