#include <bits/stdc++.h>
using namespace std;
long long min(long long a, long long b) {
  if (a > b) return b;
  return a;
}
long long max(long long a, long long b) {
  if (a > b) return a;
  return b;
}
long long fact[32600];
int main() {
  int n, len, l;
  cin >> n;
  len = (int)(sqrt(n));
  l = 0;
  for (int i = 1; i <= len; ++i) {
    if (n % i == 0) {
      fact[l++] = i;
      if (i != n / i) fact[l++] = n / i;
    }
  }
  sort(fact, fact + l);
  long long mini = 1LL << 63 - 1, maxi = 0LL;
  for (int i = 0; i < l; ++i) {
    for (int j = i; j < l; ++j) {
      for (int k = j; k < l; ++k) {
        long long aux = fact[i] * fact[j] * fact[k];
        if (aux == n) {
          long long another = (fact[i] + 1) * (fact[j] + 2) * (fact[k] + 2) - n;
          long long other = (fact[k] + 1) * (fact[j] + 2) * (fact[i] + 2) - n;
          mini = min(another, min(other, mini));
          maxi = max(another, max(other, maxi));
          another = (fact[j] + 1) * (fact[i] + 2) * (fact[k] + 2) - n;
          other = (fact[i] + 1) * (fact[j] + 2) * (fact[k] + 2) - n;
          another = (fact[k] + 1) * (fact[i] + 2) * (fact[j] + 2) - n;
          other = (fact[j] + 1) * (fact[i] + 2) * (fact[k] + 2) - n;
          mini = min(another, min(other, mini));
          maxi = max(another, max(other, maxi));
        }
      }
    }
  }
  cout << mini << " " << maxi << endl;
  return 0;
}
