V = p1^a1 * p2^a2 * ...

V = abc
S = 2(ab+bc+ca) --> min

V ---> divisors
sort(divisors)

Answer = 1e18 // 10^{18}

a = 0;
while (divisorts[a]^3 <= N)
  a++;

for (a--; a >= 0; a--)
  double opt_b = sqrt(N/a)
  double opt_S = S(a, opt_b, opt_b)
  if Answer > opt_S
    for b in divsors, b^2 <= N/a
      if (N/a) % b == 0
        c = N/a/b
        Answer <-- S(a, b, c)