#include #include #include template T compute_max(T n) { return n - 1; } template T compute_min(T n) { T ans = compute_max(n); for (auto x = 1; x * x <= n; x++) { if (n % x != 0) { continue; } auto yz = n / x; for (auto y = x; y * y <= yz; y++) { if (yz % y != 0) { continue; } auto z = yz / y; ans = std::min(x + y + z - 3, ans); } } return ans; } int main() { long long n; std::cin >> n; auto tmin = compute_min(n); auto tmax = compute_max(n); std::cout << tmin << " " << tmax << std::endl; return EXIT_SUCCESS; }