#include #include #include using namespace std; int main() { long long n; cin >> n; //(a+1)(b+1)(c+1)=Nを満たす中でのa+b+cの最小値 int ans = 1e9; for (int a = ceil(cbrt(n)); a > 0; a--) { if (n%a != 0) continue; int left = n / a; for (int b = sqrt(left); b > 0; b--) { if (left%b != 0) continue; int c = left / b; ans = min(a + b + c - 3, ans); } } cout << ans << " " << n - 1 << endl; return 0; }