#include //#include using namespace std; //using namespace atcoder; using ll = long long; #define all(A) A.begin(),A.end() using vll = vector; #define rep(i, n) for (long long i = 0; i < (long long)(n); i++) using Graph = vector>; int main() { ll N; cin >> N; ll an = N; ll D = sqrt(N); an = min(N, N - D * D+D+2); for (ll i = 2; i * i*i <= N; i++) { ll p = 1; ll k = 0; while (p <= N / i) { p *= i; k++; an = min(an, k + i + N - p); } } cout << an << endl; }