#include using namespace std; #define INF 10000000000000 #define NMAX 100000000000 #define SQRT_NMAX 316228 int main(){ long long N; long long Tmax,Tmin; bool zaru[SQRT_NMAX+1]; long long primen; long long prime[SQRT_NMAX]; primen=1; prime[0]=1; zaru[0]=false; for(int i=0;i<=SQRT_NMAX;i++) zaru[i]=true; for(int i=2;i<=SQRT_NMAX;i++){ if(zaru[i]){ prime[primen]=i; primen++; for(int j=i*2;j<=SQRT_NMAX;j+=i){ zaru[j]=false; } } } cin>>N; Tmax=-1; Tmin=INF; for(long long i=0;i=prime[i];i++){ for(long long j=0;jprime[i]*prime[j];j++){ if(N%((prime[i])*(prime[j]))==0){ long long n=N/((prime[i])*(prime[j]))-1+prime[i]-1+prime[j]-1; if(n>Tmax) Tmax=n; if(n