import java.io.*; import java.math.BigInteger; import java.util.*; class Main { public static void main(String args[])throws Exception { BufferedReader bu=new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb=new StringBuilder(); long n=Long.parseLong(bu.readLine()); int i; long r=root(n),ans=Math.min(n,r+(n-r*r)+2); //System.out.println(ans); for(i=3;i<63;i++) { int j=2; if(i<20) { long ti=power(j,i); while(ti<=n) { ans=Math.min(ans,n-ti+i+j); j++; ti=power(j,i); } } else { BigInteger ti=big_power(j,i),en=BigInteger.valueOf(n); while(ti.compareTo(en)<=0) { ans=Math.min(ans,en.subtract(ti).longValue()+i+j); j++; ti=big_power(j,i); } } //System.out.println(i+" "+j); } System.out.print(ans); } static long root(long n) { long l=1,r=(int)1e9,ans=l,mid; while(l<=r) { mid=(l+r)>>1; if(mid*mid<=n) { ans=mid; l=mid+1; } else r=mid-1; } return ans; } static long power(long a,int b) { long res=1; while(b!=0) { if(b%2==1) res=res*a; b>>=1; a=a*a; } return res; } static BigInteger big_power(int a,int b) { BigInteger res=new BigInteger("1"); while(b!=0) { res=res.multiply(res.valueOf(a)); b--; } return res; } }