#include <bits/stdc++.h>
using namespace std;
const long long INF = 1000000000000000000LL;
long long n;
long long sol_min, sol_max;
long long CalcDiff(int t1, int t2, int t3) {
  return (long long)(t1 + 1) * (t2 + 2) * (t3 + 2) - (long long)t1 * t2 * t3;
}
void Test(int p, int t) {
  for (int i = 1; i * i <= p; ++i) {
    if (p % i == 0) {
      int t1 = i;
      int t2 = p / i;
      sol_max = max(sol_max, CalcDiff(t, t1, t2));
      sol_max = max(sol_max, CalcDiff(t, t2, t1));
      sol_max = max(sol_max, CalcDiff(t1, t, t2));
      sol_max = max(sol_max, CalcDiff(t1, t2, t));
      sol_max = max(sol_max, CalcDiff(t2, t, t1));
      sol_max = max(sol_max, CalcDiff(t2, t1, t));
      sol_min = min(sol_min, CalcDiff(t, t1, t2));
      sol_min = min(sol_min, CalcDiff(t, t2, t1));
      sol_min = min(sol_min, CalcDiff(t1, t, t2));
      sol_min = min(sol_min, CalcDiff(t1, t2, t));
      sol_min = min(sol_min, CalcDiff(t2, t, t1));
      sol_min = min(sol_min, CalcDiff(t2, t1, t));
    }
  }
}
int main() {
  cin >> n;
  sol_min = INF;
  for (int i = 1; i * i <= n; ++i) {
    if (n % i == 0) {
      Test(i, n / i);
      Test(n / i, i);
    }
  }
  cout << sol_min << " " << sol_max << endl;
  return 0;
}
