n = int(input()) import bisect # i = 1 or j <= 1 ans = n # i >= 2ll for j in range(2, 70): if 2**j > n: break i = bisect.bisect_right(range(n + 1), n, key=lambda i: i**j) - 1 k = n - i**j ans = min(ans, i + j + k) print(ans)