N = int(input()) ans = N if N == 1: print(1) exit() def solve(N, k): l = 2 r = N while r-l > 1: m = (l+r)//2 if pow(m, k) <= N: l = m else: r = m return l+k+(N-pow(l, k)) for i in range(2, N.bit_length()): ans = min(ans, solve(N, i)) print(ans)