def divisor_list(N): #約数のリスト if N == 1: return [1] res = [] for i in range(1,N): if i*i >= N: break if N%i == 0: res.append(i) res.append(N//i) if i*i == N: res.append(i) return sorted(res) n = int(input()) a = divisor_list(n) L = len(a) ans = n for i in range(L): for j in range(i,L): if n//a[i]//a[j] < a[j]: break if n//a[i]%a[j]: continue k = n//a[i]//a[j] ans = min(ans,a[i]+a[j]+k-3) print(ans,n-1)