#include #define rep(i, n) for (int i = 0; i < (n); ++i) using std::cin; using std::cout; using std::vector; using vi = vector; using vvi = vector; using ll = long long; ll mpow(ll x, ll y) { ll res = 1; while (y) { if (y & 1) res *= x; x *= x; y >>= 1; } return res; } void chmin(ll &x, ll y) { if (x > y) x = y; } int main() { ll n; cin >> n; ll ans = n; for (int j = 1; j <= std::__lg(n); ++j) { ll i = pow(n, 1.0 / j); while (pow(i + 1, j) <= n) i++; ll k = n - mpow(i, j); ll now = i + j + k; chmin(ans, now); } cout << ans << '\n'; return 0; }