#include <bits/stdc++.h>
using namespace std;
const int INF = 2147483647;
const long long LLINF = 9223372036854775807LL;
const int maxdiv = 10000010;
long long divs[maxdiv];
void doh() {
  cout << 0 << "\n";
  exit(0);
}
int main() {
  long long n;
  cin >> n;
  if (n % 3) doh();
  n /= 3;
  int dc = 0;
  long long ans = 0;
  for (long long i = 2; i * i <= n; ++i) {
    if (n % i == 0) {
      divs[dc++] = i;
      if (i * i != n) divs[dc++] = n / i;
    }
  }
  sort(divs, divs + dc);
  for (long long i1 = 0; i1 < dc; ++i1) {
    for (long long i2 = i1; i2 < dc; ++i2) {
      long long d1 = divs[i1];
      long long d2 = divs[i2];
      long long d3 = n / d1;
      if (d3 % d2) continue;
      d3 /= d2;
      if (d3 < d2) break;
      long long a = d1 + d2 - d3;
      long long b = d1 + d3 - d2;
      long long c = d2 + d3 - d1;
      if (a & 1) continue;
      if (b & 1) continue;
      if (c & 1) continue;
      a >>= 1;
      b >>= 1;
      c >>= 1;
      if (a < 1 || b < 1 || c < 1) continue;
      long long mult;
      if (a == b && b == c)
        mult = 1;
      else if (a == b || b == c || a == c)
        mult = 3;
      else
        mult = 6;
      ans += mult;
    }
  }
  cout << ans << "\n";
  return 0;
}
