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))