# coding: utf-8 import math def II(): return int(input()) def ILI(): return list(map(int, input().split())) def read(): N = II() return (N,) def solve(N): l_t = [] for i in range(1, int(math.sqrt(N)) + 1): i_div, i_mod = divmod(N, i) if i_mod == 0: for j in range(1, int(math.sqrt(i_div)) + 1): j_div, j_mod = divmod(i_div, j) if j_mod == 0: t = i + j + j_div - 3 l_t.append(t) t_min = min(l_t) t_max = max(l_t) ans = "{} {}".format(t_min, t_max) return ans def main(): params = read() print(solve(*params)) if __name__ == "__main__": main()