import math def find_min_T(N): min_sum = float('inf') max_a = int(N ** (1/3)) + 2 # Add 2 to handle floating point inaccuracies for a in range(1, max_a + 1): if N % a != 0: continue M = N // a max_b = int(math.isqrt(M)) # Compute sqrt(M) once # b must be >= a and <= max_b, and also a factor of M for b in range(a, max_b + 1): if M % b != 0: continue c = M // b if c < b: continue # Ensure a <= b <= c current_sum = a + b + c - 3 if current_sum < min_sum: min_sum = current_sum return min_sum def main(): N = int(input().strip()) Tmax = N - 1 Tmin = find_min_T(N) print(f"{Tmin} {Tmax}") if __name__ == "__main__": main()