import random def solve(): n = int(input()) import math ans = 10 ** 20 for j in range(0,100): if j == 0: ans = min(ans, 1 + 0 + n - 1) elif j == 1: ans = min(ans, n + 1) else: i = math.floor(pow(n, 1/j) + 10 ** (-10)) if i ** j <= n < (i + 1) ** j: ans = min(ans, i + j + n - i ** j) print(ans) t = 1 for i in range(t): solve()