lim=[0]*60
for i in range(2,60):
  lim[i]=int((10**18+10000)**(1/i))

def f(n):
  a=n
  for i in range(59,1,-1):
    ng,ok=lim[i]+1,0
    while abs(ok-ng)>1:
      mid=(ok+ng)//2
      if mid**i<=n:
        ok=mid
      else:
        ng=mid
    a=min(a,ok+i+n-(ok**i))
  return a

n=int(input())
print(f(n))